Wednesday, April 19, 2023

Planning Madness

The idea of Information Architecture sounds pompous. Or daunting. Or impressive. Or stupid. Or something.

The truth is that the name doesn't matter, but the concepts do. Or maybe not so much the concepts but their application. So can we apply concepts without knowing about them? Sure. Performance counts. Ideas come from life and not the other way around.

Better to do something right without knowing exactly why, or even exactly what you're doing than to know all sorts of things and never do anything. Concepts always come after expertise, after people have tried things various ways, after finding that some things work and others don't. Eventually someone stops, takes a breath or two, and begins to sort things out. That's where concepts come from.

So you can go at it hammer and tongs and bang around, and get something or other done. Maybe even something that works. You have to actually do things to get work done, and doing it does it. But on the other hand you can do much better if you know the theory and apply it well.

So knowing about information architecture can help.

The term comes from Richard Saul Wurman, an architect and graphic designer concerned with presenting information, especially information about urban environments and what goes on in them. These days the term describes ways to organize information in general. How to define it, store it, retrieve it, and then use it efficiently. Information Architecture is the idea underlying good web sites.

The number one reason a web site fails to meet its mission is because that mission is never defined. Information Architecture can help. Think first, then do. That's the idea.

Sounds pretty simple but too many people prefer to fly blind. What usually happens is more like "I like this picture. Let's try building around it and see what happens." Then, later "Let's try something a little more blue." Then, later, more of the same. Meanwhile, back at the ranch, the herd gets restless.

This can go on for years. I've seen it.

When computing was done on the backs of whales, in rooms the size of football fields, and cables lay on the floor like dead pythons, programming was slow and painful. Expensive. One small mistake brought everything to a halt and those warehouses full of hot vacuum tubes sat burning away millions. People learned the hard way. They developed ways to think. Ways to plan. Plans showed how to get from Start to Finish before people actually had to hit the road. They could think first, then act decisively. But there was still much flailing.

Free as birds. When desktop computers came along people figured they could wing it. No thinking needed. Just act. Try one thing and then another, unlike those old creepy guys in white shirts and ties in the glass room. Computer time was cheap.

But programmer time became expensive. And a lot of things never got finished. Because people didn't know where they were or what the destination looked like. More mess. More waste. Time and money. Gone.

Then the web. You didn't need programmers any more. Yay! Just try stuff. Anyone. Everyone. Build a web page and see how it looks. Try another. Tweak it a little until you get it right. Add fonts. More blue. More blinky stuff, maybe. You'll get it right eventually if you try enough times. For sure, dude.

I've worked on projects that ran blindly for years before being thrown away. Cost? Only a few hundred thousand, maybe a million wasted. I've known others who were on bigger projects. Thirty, forty, ninety million down the hole.

Mainframe or web site doesn't matter. Standalone desktop system deployed to several thousand users. Client server app. Web site. All the same.

Think first, then act. Define your purpose, define your goal, then proceed with caution. If you are smart and good and careful you can get the job done. If not you won't. The project will collapse, and if your business is based on success of the project, well bye-bye.

Information Architecture helps. And it isn't even special. No secret sauce. No insider information. No special handshake needed. It is nothing new.

Way back in the old days, long ago, back in the dim 1950s and 1960s people were coming up with ways to plan. A few decided that there must be a right way to do things. People like Grady Booch, Ivar Jacobson, Bertrand Meyer and others. Booch and Jacobson merged their methods into the Rational Unified Process, and Meyer is a fundamental thinker in object orientation who invented design by contract.

Information Architecture is the term that web designers use but it isn't unique. Maybe the web is a bit more like magazine publishing or motion picture producing than traditional software development. A bit more varied in the elements needed. But the basics are the same. Think first, then act. Get things done. Well. Completely. The first time.

From the table of contents of "Getting Real", 37Signals' book on the approach they use, their priorities are:

  1. What's the big idea?: Explicitly define the one-point vision for your app.
  2. Ignore Details Early On: Work from large to small.
  3. It's a Problem When It's a Problem: Don't waste time on problems you don't have yet.
  4. Hire the Right Customers: Find the core market for your application and focus solely on them.
  5. Scale Later: You don't have a scaling problem yet.
  6. Make Opinionated Software: Your app should take sides.

At first glance this looks like a seat of the pants approach but it's not. The idea, the main idea, the big idea, is to decide what you want to do and then do it. After deciding what to do you decide how, and then you do it, and when you are done you stop. And then decide if you've done it well enough.

But nowhere in their process is there any notion of "we'll just try this and see if maybe it works out somehow". The point is to have a destination, produce a map, then follow the map.

One project I was on had to take over a paper form and bring it alive in software. A committee had met for two years. To determine what questions were needed on that form. Finally, knowing that the development team was ready to go, the committee wrapped up work. "Good enough," they decided.

Then they started meeting again. They had no idea what they were up to. Didn't know where they were going or when they were done. Otherwise they could have finished the job in two weeks.

So web people call it Information Architecture. Other people use different words. But the important thing is not to waste time or money or opportunity messing around when what you really need is a plan.

Define your goal. Survey your resources. Pick your team. Build the simplest possible solution. Test it. Review it. Deploy it. Repeat as often as needed. Keep the goal and the plan and the system synchronized. Don't wander around with your mouth open.

You'll come out ahead.

I've chosen to call myself an Information Architect. I mean architect as in the creating of systemic, structural, and orderly principles to make something that informs because it is clear. I use the word information in its truest sense. I call things information only if they inform me, not if they are just collections of data, of stuff. -- Richard Saul Wurman

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? Recently nominated for something by someone, somewhere.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Wednesday, April 12, 2023

Sometimes It Ain't That Easy

Yeah, so all right, it was about time. Past due in fact. I needed a new computer.

Right?

Sort of.

I've been hammering on a Think Penguin laptop since September, 2014, and it won't last forever. I wish, but no, it won't.

I'm a believer in redundancy. I like to have a backup, and a second backup, and so that way when a failure comes along, I can switch to my first backup. But then I get nervous because I have only one backup left.

It's a thing.

First off, way back when, I bought a System76 Starling, a "netbook" as they were called in those days. It was fine. Slow but fine.

Once I got used to that I bought a "real" laptop from System76. After a year the battery was shot, and a few months later it began rebooting itself, or sometimes just simply switching itself off.

Possibly a RAM problem, but I was living in a place where it would have been awkward to try repairing it, so I bought a replacement from Think Penguin. The first time I switched it on, I had a good feeling, a really good feeling. Strange but true, and that feeling has not gone away in the eight-and-a-half years since.

I love this thing, but when I gave the Starling away (Slow, remember? And too tiny too.) I needed at least one backup, so I bought another System76 laptop. Fine, it's still fine, but aside from setting it up, I've never used it because the Think Penguin is so nice.

Problem Number Two: The new System76 kept switching over to battery power while I was trying to charge the battery. I had to fiddle with the power cord to get it reconnected to the AC line. Running it on straight AC was iffy, because it could just shut down entirely Eventually I caught on and realized that the AC adapter was bad, and shortly after that the adapter quit working entirely.

Well, that was Problem Number Two. Problem Number Three was that I had ordered this laptop with System76's Pop!_OS installed. Yeah, right.

The first time I powered up this laptop, I got a black screen. With a manufacturer-installed OS, the manufacturer's own. That was the desktop. A black screen. I remember that there was something way over on the left side of the screen. It may have been a black icon on the black screen, but anyway, it worked, though all it did was to open a terminal session.

There was no menu, no "buttons" no icons, nothing. And System76 had no online manual, and no one else did either. Beauty, eh?

So I downloaded a copy of Pop!_OS and installed it. Tried, anyway. I wanted to check it out, at least once, but it wouldn't install. No, really — the operating system made by System76 would not install on System76 hardware, so I grabbed a copy of Linux Mint (what I normally use anyway), and installed that. With out a hitch, or a hiccup, or anything. I installed Linux Mint cleanly and effortlessly and thoroughly and forever and IT JUST WORKS as they say. Always has.

Then I went back to using my Think Penguin. That was seven years ago. No problems since.

But I still had only one backup system, and then COVID and such-like and so on, and shortages, and I live way outside North America, so as soon as I could, just before a trip back there, I bought a new System76 Darter Pro with lots more RAM and lots more disk space, and brought it home with me.

Fine and dandy.

At least Pop!_OS worked (and I don't like it), and I haven't seen any hardware problems, but software has been a different issue.

Not horrible, but an issue.

First off, I wanted to see what LMDE was like. That's Linux Mint Debian Edition. But it wouldn't install.

Eventually, with only a tiny amount of fumbling "help" from System76 support, I figured out that the relatively "old" (in a vague sense of that word) software from Debian was not a match with the completely up-to-date sparkly new hardware from System76.

The rule is that, in the Linux world, older hardware is usually a good match with newer software, which is why people can use Linux on 20-year-old, 30-year-old computers. Which is nice, but my situation was backward from that. I was trying to run at least 2-year-old, maybe 3-year-old software, and it was just a pileup. Didn't work. The new laptop choked on it.

Linux Mint, regular edition to the rescue again. Installed just fine, works just fine, probably at least twice as good as LMDE anyway. Meh.

So that was that.

Then, WTF, hardware. All working OK but really?

The battery on this Darter Pro is not removable.

I use my laptops at least 99% of the time in my apartment, with the battery pulled, because (a) I don't need the battery, and (b) leaving the battery in all the time, having it maybe discharge a bit from time to time, and then recharge constantly, well that kills batteries. But no — I'm stuck. Can't remove the fucker.

And two USB ports, only two, one on each side. Only two.

Color me odd, but I use an external keyboard, a "Happy Hacking" keyboard, which I've been using since 1998. (Actually the very same piece of hardware that I bought in 1998.) And I can't use a "standard" keyboard any more, and don't want to anyway, but I have that keyboard, and a mouse, and also a couple of external drives that I use for daily backups, and having only two USB ports is awkward, but here I am. Two USB ports.

I now have a couple of USB "hubs" which help, but that means more desktop cable clutter. Another meh.

Overall I will not say that I am gloriously happy with System76 support, or System76 hardware, and not at all with System76's operating system. Too many problems with the hardware for me. Considering my age, I may never need another laptop, but if I do, I'll go elsewhere. System76 is not my pal.

They followed up by asking me what I thought of their support and I told them, and then they were not happy. Nurk. I'm not either. Go figure.

And though I can't figure out who to blame for the rest, I can say that the rest amounts to the only problems I should have had, in a way.

Problems? Yep — the usual: Different screen resolution, different screen color cast, fiddling with icons, icon sizes, system fonts, loading and configuring software that I use every day, tweaking this and that, downloading something I forgot, and so on.

Emacs has been a bitch.

I really wish that emacs had a more standard plugin system, so someone like me could just select from a menu the few things that I like and be done with it.

There is no doubt that being able to use emacs lisp to virtually rewrite and customize the hell out of exactly every aspect of emacs is crazy good, but I don't know emacs lisp and probably never will and anyway I just want to get a few things done, not enroll in a Ph.D. program to become a certified lisper and then forget it all because I don't use it all day every day.

I have spent weeks (a couple hours at at time) chasing down inscrutable error messages, only to learn the names of startlingly odd configuration variables, only to discover that I still need to fix a wholly different dependency over on the other side, around the back, hiding somewhere in the bushes, just in order to get the damn configuration to be accepted so damn emacs loads so I can do a thing or two, finally.

And the theme would not load, and the spell checker, and all the rest of the crap, and then one of my macros would not work, even though I have not changed it for years. That was fun.

Eventually (a commonly-used word recently, by me) I found that emacs set its "bookmarks" file to be read-only, so that then emacs could not itself write to that file. Yep. Try to figure that one out, folks.

The good news is that when I changed the bookmarks file to a "read-write" configuration, those problems went away. Poof.

When I start emacs, I still do get a message saying "Package cl is deprecated". Apparently no one knows what this means and never will find out, because complaints about this go back years, and no one able to express things in any intelligible human language has been able to either explain it or suggest a fix, in case there is a fix to suggest.

So here we are.

I ordered my System76 Darter Pro in July, 2022, was able to pick it up in November, 2022, and now it's April 2023 and I'm still trying to get it set up. Despite no longer having to work, and theoretically having unbearably empty stretches of time, most of those stretches are already taken, so getting this new laptop functioning has so far been too much like basic scientific research, plus some swearing, and the food around here makes me fart .

Yeah, well. At least I have something to keep me busy, and my Think Penguin laptop has not died yet, and no doubt (if anything unforeseen fails to materialize), then in another week or so I'll be able to switch over to my new Darter Pro and still have Think Penguin in the closet enjoying a nice retirement, but still able to save my sorry butt. Could be worse, right?

At least it isn't raining today.

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? Still growing up.

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals

Wednesday, April 5, 2023

Who, Me?

There seems to be a lack of individual responsibility around these days. Maybe that's just me. Maybe it's always been this way. Probably. Some things I don't notice so good.

I've always been surprised by how lazy and opportunistic people are. Maybe that's just me. Maybe I'm not as bright as I've thought, or maybe I just haven't caught on yet to the true meaning of life. Something like that. I guess that I haven't caught on to massive sloth and grabbing what's easy.

I noticed during job interviews, or even worse, while on the job, that I scared people when I told them I stood 100% behind my work. Don't know why. That seems like a good characteristic to me, but it's never flown. People get spooked. Someone once asked me if I carry a gun.

Maybe a lot of them are scared to see someone care. Most of my working life has been in state government, where, if you swing through the trees, you see a lot of sleepy apes. The entire point of a bureaucrat's life is not to do anything. If you do anything you can be blamed, but you can never be blamed for not doing any one thing. Everyone in that kind of environment understands the idea of making decisions judiciously, without question: i.e., doing nothing.

That's why it can take a year to get a stapler unless you steal one from a desk that's just been vacated.

That world works that way because there is never a positive incentive. There is no profit sharing. No bonuses. You don't get big stock options if you bet your job and a lot of company resources on a bold gamble. There is none of that, only the opposite.

Negative incentives.

What is, is. The status quo is the highest good. "If it ain't broke, don't fix it." "We've never done it that way." So, try something, muck up, and the only option is punishment. ("We warned you.") Do well and you mess up the status quo. The only option for that is also punishment. Keeping up appearances is the highest good, and it's not good to make the others look bad in comparison to yourself. ("You aren't being fair to everyone else.")

I've worked with people who were demoted and moved across town into jobs they knew nothing about only because they happened to work for someone else who lost a turf war. I've seen a talented and experienced programmer given a desk and chair and nothing else, expected to sit there until he gave up and quit, only because he once spoke the truth. I know someone who, as a project manager whose project failed, was promoted fol following the rules. Right into the ground.

No change, no gain. No gain, no pain. A small promotion is about the best you can get, and failure restores quiet, enduring balance to a bureaucrat's life. A few dollars more a month from a promotion seems like a positive incentive but it's really more of a threat. You have to work harder to keep up appearances, so maybe it's not a good thing to get. And you still have to show up every day for decades until they finally have to turn you loose. No matter who you are, how good you are, if you play in this system you weather down to the same level as everyone else. You want only to get through today, and live long enough to retire. Nothing more. Trying to actually do something only causes confusion and pain.

I was a member of two different Meetup groups based around web technology. This was years ago, but both failed. At the second one, there were 71 members and only nine or 10 ever showed up at meetings. The two organizers did the presentations and the rest sat there. People kept joining. And not showing up.

So easy. So clean.

I sort of know a web developer who lost his job when the big bust came a few years back, in the times following year 2000, after the world didn't end but other things had to, so... His name was Henry Shires. In 1999 he hiked the Pacific Crest Trail, using a shelter that he designed and made himself. He did it because he wanted to. He didn't sit around waiting for someone to ask, or to give orders. He needed to do the hike for personal reasons, so he went and did it. To help him do it, he designed a shelter that was sort of like a tent and sort of like just a tarp.

Later he got into web development. I don't know much about this part of his story, but having talked to him a time or two I heard that he lost his job. It was bad all over then. Happened to lots.

Sometime later, after he'd posted his original tarptent plans, then updated them with a new model or two (all free information for the taking), I found that he was in business. Making and selling tarptents.

Now he's one of the big names in the ultralight cottage industry class. Sounds like damning with faint praise but it's really praising with no damns at all. This is tough work, in a small, low-margin, highly-competitive market, and now he has a worldwide clientele and a reputation to go with it.

This is what personal responsibility is about.

First Henry had a dream, to hike the Pacific Crest Trail. And then he went and did it.

Then he had a job, and then he didn't.

Then he created a business and made it work.

This is real web development. Henry Shires had a stake in it. He had something to gain. Web development is no longer just something for his resume. It is a vehicle for his business. He had a reason to work with that, which was to develop his business, because he liked hiking and liked tarptents. So he took on the responsibility of it all. It gave him a payback. Not like what you get when you decide to become a member of an anonymous "Show up or not. Meh." group.

Not a big story at all, but nice. A nice story. Not like clicking a link on a web page and joining a group and never showing up. First Henry showed up at life and then the world joined him, with money in their hands.

Now if only I could be so smart.

Refs:
Tarptent.com
The original Tarptent

 


Have anything worth adding? Then try sosayseff@nullabigmail.com
Me? I've never done it that way, I swear!

 

Etc...

so says eff: sporadic spurts of grade eff distraction
definitions: outdoor terms
fiyh: dave's little guide to ultralight backpacking stoves
boyb: dave's little guide to backpacks
snorpy bits: nibbling away at your sanity
last seen receding: missives from a certain mobile homer
noseyjoe: purposefully poking my proboscis into technicals