Monday, February 29, 2016

Sufficeth to say, I think gThumb's UI/UX just caused me to delete a ton of images. I did already back them up, so whatever, but it is just effing baaaaad UX. Why does everything have to be such a piece of junk? Why?!

Friday, February 26, 2016

DynamicImage

The user experience of imagery on the web is terribly bad. When I am trying to find images of the Bullet Cluster for my son, I see all the ways in which the paradigm is just crap. It is due to various factors, including technical and legal.

From the technical angle, I hereby propose some food for thought. I will write it somewhat tongue-in-cheek because I know there are religious wars over how to write a good use case / user story / feature request / prd / kanban ticket / whateverthefudgeyoucallit.

As an end user.
When I get an image on my touch screen device.
I want to directly zoom it.
And have it support self-updating for arbitrary resolution as I zoom.
So NASA images don't look like pixellated crap.

This would probably require a new kind of HTML or JavaScript image concept. I will call it the DynamicImage for the heck of it. (Probably a terrible name. Always be ready to refactor / change / kill names.)

The main feature of the D.I. is that it supports interaction. As the visible area of the image on screen changes due to e.g. user manipulation, the image can change what it is showing. As I zoom in, in the 640x480 area on my little phone, the image dynamically loads new data so that I get a high res zooming experience, rather than lame bitmap scaling on the client.

Maybe the D.I. supports an API call like (pseudo Java):
ImageInterface getRegion( Rectangle region, Zoom zoom );
where ImageInterface has concrete classes like Jpeg or whatever; Rectangle is, you know, a rectangle; Zoom is pretty much an alias for a floating point number.

The idea is that the web browser will dynamically update the region as the user zooms in/out. It will hit whatever the back end is and get results.

(Of course, the web browser will not be a piece of stupid hateful lame broken pathetic crap like all browsers seem to be, c'est de soupirer, and will first do lame bitmap scaling so the user has immediate feedback and then will progressively refine and re-render as soon as it gets data from the back end. Of course, the back end will also not suck and know about interrupting itself if the request gets dropped before it is done because the user is a little impatient. Also, the back end will not suck because it will have done a cached mipmapping of the images so that it can take the closest one, do a quick and dirty lame bitmap scaling of it, and return that first so that the response is lickety split. Etc. UX matters.)


I have to point out that this won't solve the problem entirely because e.g. people want the e.g. Google Image results to drive folks to their web site most of the time probably, so they don't want Google's Image results to support this because then nobody would go to the site.

But of course, the truth is that from a UX perspective the end user doens't give a rat's ass in the immediate sense. They might care if all the web sites go dark and Google has no results to show in the end, of course, but that's not what my son is thinking when he's stabbing at my phone in sheer frustration trying to get the bloody image to zoom well. As soon as we see an image, that is the thing we want to interact with directly. We don't want to have to figure out "what happens if I click on this?" "What do I have to do in order to get the full rez version of this?" etc. (By doing such a good job at search, Google has successfully screwed it all up for everybody in some sense. Oh well.)

Thursday, February 25, 2016

no, no, it should be Greenfud's Meta Eleventh Rule of Programming: If you mention Lisp, you are already doomed.

Wednesday, February 24, 2016

There's always some storm-in-a-teapot navel-gazing name-calling turf-defending self-aggrandizing phallus-waving miscommunication stuff going on in the "Agile" land. I think it would be super funny if SNL / College Humor / the SV TV show / somebody did a skit of a panel of various agile experts getting into a verbal kerfuffle, and then Jeff Sutherland yelling about how he was a fighter pilot and just physically punching the heck out of somebody else and then it goes nuts! Black belts from Six Sigma wreaking havoc! Scrummers using Drunken Scrum Master Style! Kanbaners using (anime reference alert) The Bloody Card! Strawman Waterfallers using enhanced interrogation! Just a complete slaugherhouse! Somebody reading Kierkegaard's footnotes about MVC! It would be oh so cathartic, would it not?

Tuesday, February 23, 2016

It always amazes me when the things which I would have expected would be simple turn out to be broken. For random example, apparently Slack requires channel names to be all lower case?! Or something? I don't even know! I entered some string like XyzPdq and that put the whole UX into a nose dive.
"Good Scrum practice follows The Toyota Way by instead focusing on a single PBI at a time, building on the team's intelligence and self-organization — rather than a method — to manage work in progress."
Why so much pain? It is turtles pain all the way down.
"pair programming cannot be fruitfully forced upon people, especially if relationship issues, including the most mundane (such as personal hygiene), are getting in the way; solve these first!"
"Decomposition into components can not always be maintained throughout software development because there are components that do not fit the dominant decomposition of the representation medium used at a certain phase, and hence crosscut it."
A nice read: Andrew P. Black: Object-oriented programming: Some history, and challenges for the next fifty years.

"While semantic unification can lead to a true simplification in the design of a language, syntactic unification may be a mistake."

(There's plenty more good, deeper, stuff in the paper, but copy-pasting from a pdf leads to formatting hell here.)
Smartphones are great and all, except for how all the software on them, be it the OS or the bundled apps or the 3rd party ones, how all of them kind of majorly suck.

I was just trying Firefox and UCBrowser on Android 5, and it was... not a terrific experience, shall we say. What kills me about it is how some of the errors are so egregiously bad. Like, I can't 2-finger-zoom images in UCBrowser?!

Monday, February 22, 2016

I trust everybody sees the whole "app permissions" thing for the slippery slope lying weasel tricky snake oil shell game lying like a rug badness it is.

Is there a phone ecosystem that isn't evil?

Tuesday, February 16, 2016

If we ever try to get into a giant space battle with alien enemies, all they have to do is insert a few directories or filenames with whitespaces in them into some of our filesystems, and everything will tank.

I cannot remotely begin to express how much of an indictment of everything and everybody who ever had anything to do with computers the whole whitespace handling thing is.

Drives.

Me.

Nuts.

Monday, February 15, 2016

Sunday, February 14, 2016

99.9% of every media organizing program I have ever used has a really terrible UX, I think. It is as if the whole concept of how to manage things is just impossible to do right. Rhythmbox, iTunes, Picasa, etc. you name it.

Saturday, February 13, 2016

Audacity, as far as UI/UX is concerned, is kind of a tub of poo. I think. It seems to me. Unfortunately.

Friday, February 12, 2016

I am impressed with how Amazon seems to always have an out of control JavaScript thing on every freaking page now.
In the Mac OS X Finder windows, when viewing as a List, the headers are something like: Name, Size, Kind, Date Added.

Because, you know, I want to sort by size & kind so much more often than by date.

Wednesday, February 10, 2016

'RRR stands for “Roles, Responsibilities and Relationships.” The last “R” is the “I” of DCI. It’s important to understanding the network of interactions. An RRR card usually has a one-line header (the name of the Role) and then the bottom of the card is divided into two columns. The left column is the Responsibilities; the right column is the Relationships.

The first step in the use case asks the first Role to do something. When asked (never told!) to do something, the holder of the Role writes a responsibility.

In carrying out that Responsibility, that Role may need the help of another Role. (This Role can be called the Collaborator, Helper, or Relationship.) When I ask that Role to carry out a Responsibility in support of what I’m doing, I write down its name in my Relationships list, and that Role writes down the Responsibility I am asking it to carry out.

We usually do not align Responsibilities and Relationships on the card — that gets too much into procedural thinking.'

Tuesday, February 9, 2016

I sure wish there were some possible competition for OpenTable. Their end-user UX is, how you say in English, poopy? Especially for special occasion weekends like Valentine's. (If Click and Clack where listening they'd be like, "Reservations on Valentines?! There's your problem!")
"Since the very beginning of computers we have been in this vicious circle, exclusively solving what was right in front of our noses, the poker chips right below our feet - problems that we created in the first place - without ever questioning if those were the right problems to solve to begin with."

Monday, February 8, 2016

Not a news flash, but pretty much all - and I really do mean all - eCommerce sites blatantly suck in obvious ways in the first 30 seconds that I try to use them. And then of course they also suck in less obviously ways each and every minute I get further into using them, be it doing searches, or trying to actually buy things. As a software developer with both front and back end experience, I don't see that there are many things done wrong that are like NP complete or something. It is just that however they got built, the sites plain suck. Amazon. Lowes. Best Buy. Home Depot. Frys. Target. Whatever little guy stores run. Everything. Just, like, everything. :-(

Wednesday, February 3, 2016

Serialization seems to me to kinda be an indictment of all human efforts in software. Reason #73 why the aliens are steadfastly avoiding any kind of contact with us. They fear the stupid might be contagious.

"These tend towards the failure mode of which Smalltalk-72 was the extreme: you can't understand anything about the program until you understand everything."
One would hope that between Xcode and AppCode, one could sorta get things done. But it turns out that for me they manage to have non-overlapping bugs such that whichever one I am using quickly becomes a nightmare to use. So then I switch to the other, which doesn't have that same bug, but then 30 seconds later I hit the bug in there which caused me to switch before. Wrestling back and forth ad nauseum. Indictment, baby. Indictments all 'round.

Tuesday, February 2, 2016

I guess I will never find the Google Maps UX to not actually be frustrating, one way or another? The sad thing is that, of course, they are far and away the best map UX around, from what little I've seen of others. It would be nice if every UX program at every institution of higher learning made people research better things for us all.