My iPhone is Slow
Based on every implementation you’ve seen so far, what’s the first thing that comes to mind…

…when you read this news?
Based on every implementation you’ve seen so far, what’s the first thing that comes to mind…

…when you read this news?
Here is what I’ve been working on for the past few weeks. My Google Android custom PC:

I posted additional pictures on this photo album.
This is a fully functional computer, including a JetWay Mini ITX motherboard with a Via C7 CPU, 1GB RAM, Ubuntu 7.10, and a 10,000 RPM 74 GB Raptor.
Here’s the back with the cover on:
The cover is a 12″ steel hemisphere (yes, you can order ANYTHING online). I had to cut out the holes, sand, and paint; painting was the hardest part of this project. All of the wires come out through the holes in the bottom, which is a circular piece of MDF.
I’ll follow up later this week with additional photos showing the construction and assembly process. I plan to sell this, so let me know if you are interested. I’ll probably put it up on EBay in a week or so.
Here are some of the more popular comics from my blog…or maybe not so popular, but some of my favorites:
All of my comics are tagged, also. You’ll have to keep clicking the Previous Entries link to see everything.
I would like to draw your attention to this comment from Matt. Well done!
I’ll do my best to bring the fun back.
*** UPDATE: that’s weird…Firefox isn’t scrolling to his comment when I click that link. Probably a mistake in my theme. Oh well, just scroll down and look for Matt’s comment.
*** UPDATE 2: It is fixed. See my explanation here.
It is done.
I deleted my blog. From java.blogs. Don’t get me wrong, I appreciate all of the traffic they provide, but by actively pushing my blog to their service, I give up a little bit of freedom.
Specifically, I lose the freedom to say:
If you don’t like what I say, feel free to go away.
And I can follow up with a little smiley, which makes everything all better:
See? You feel better already!
Plus, I’m writing less and less about Java, which makes me feel guilty for posting to java.blogs. Here is some Ruby code Mark and I worked on yesterday:
require 'rexml/document'
# This returns a normalized version of a given XML string.
def normalize(xml_str)
# Convert the XML string to a Document object and back to a string
# to normalize it. This changes single quotes around attribute values
# to double quotes and sorts the attributes within each element.
normalized_str = REXML::Document.new(xml_str).to_s
# Remove ignorable whitespace and carriage returns
# from each line in the XML string.
s = ""
normalized_str.split("\n").each { |line| s << line.strip }
s
end
I used this in some unit tests to compare some expected XML to the actual XML produced by a Ruby class, ignoring insignificant whitespace.
And there you have it. I am not forcing you to read this. These are just my opinions, and you are free to subscribe or unsubscribe at will. (unless you live in North Korea, where you probably don’t have the freedom to subscribe…sorry!)
And unless you drop the F bomb or are a blatant spammer, I’ll let you leave comments all day long. You don’t even have to give your real name.
This comment from ApplesAndOranges misses the point:
What your companies app wants: full tax details as required by the government so we tax you the correct amount.
If your app wanted something as simple as google (a none specific set of words) you’d only have one input box and a button too.
To which I reply…that’s not really what this comic is about. A comic is not a literal statement of fact. Did you really think I was claiming — or even remotely implying — that a data-entry application can be written with a single field and button?
Using the specific example of tax forms, there are many competing tax software packages. Although all must collect the same data, their usability and efficiency varies widely. There is much more to this puzzle than a 1-to-1 mapping from data entry fields to database fields.
And using Apple as another example, contrast their MP3 player user interfaces with competing products. Again, all of these devices perform the same tasks and have the same data behind the scenes. Yet the Apple product is simpler and more efficient. We can apply many of the same design principles to tax software.
If you need to collect ten pieces of data, that is an essential complexity. But most GUIs are littered with accidental complexity. That is what the comic is about.
By and large, companies do NOT create good user interfaces. These apps do not need:
It is easy to tack on features. It takes focus and discipline to create exactly what you need, and no more. Sure, if your tax form needs N pieces of data, you’ll need N fields. But few corporate apps are that efficient.
And another comment from Steve Bennett:
(by the way, thank you for using your real name — I use mine)
Your company’s app is probably industry specific and will be used by a smallish number of people for hundreds or thousands of hours to do their job. Power, flexibility and efficiency become far more important than intuitiveness, beauty and user-friendliness.
I don’t think most custom apps are flexible, efficient, or powerful.
How many times have you ordered something at a fast food restaurant and watched as the poor cashier struggled with a horrible GUI? I fail to understand how it requires 37 keystrokes to order a taco without lettuce.
Ease of use is a competitive advantage! If thousands of stock brokers spend thousands of hours using some proprietary tool, a quality GUI is damn important. I’ll even argue that fade-ins, animations, drag-and-drop, and overlays are also important, effective ways to convey additional information without cluttering the GUI.
But that’s pie-in-the-sky stuff. For the most part, I think typical apps don’t even get the basics right.
I just bought some electronics components and received the following confirmation email:
Comments : Your order was shipped by Malaysian Post. Normal shipping time is 1-2 weeks. We thank you for your patience.
Yikes. I’m used to Newegg, where I receive the package almost as fast as the email confirmation.