bizarre Galaxy S3 driver success screen

I hope you are outnerdishly geeky enough to know that this means you’re on the path to android nirvana…

I came through iPhone territory by way of Handspring, then Zaurus, then Treo turf, so I can handle this kind of pain. But very disappointed…

  1. Install the Kies app from the google play store
  2. Fiddle with it for hours before discovering it’s useless.
  3. Stumble upon the Kies Windows app, install it from official site, let it spend an hour updating
  4. Try to use it and utterly fail to get any reasonable response from it
  5. But first, make sure you google to find all the other people with other different random stories of rage and sadness.
  6. Uninstall it and redownload a newer version from the same site the same day and install it.
  7. Plug your Samsung in and watch it fail to recognize it, fiddle for a few more hours…
  8. Fart with scattered settings on your phone to no avail
  9. Unplug and replug your phone while troubleshooting and reinstalling drivers in the right voodoo manner
  10. Use the Kies troubleshooter for a while, then realize its bizarre failure screens and minutes of spinning anuses are actually installing a working driver for your phone…
  11. In the middle of the night, through bleary eyes, see the Jelly Bean firmware upgrade notice – but only because you’re so tired that you watched a blank wait screen for far longer than any fully conscious human could ever muster.
  12. Have the firmware fail after it starts, scaring you to death, because it detects your battery is slightly below a full charge. Writhe in pain while you wonder if you’ve bricked the thing.
  13. Restart the whole process again after you unplug to charge your phone with a wall wart plug and the drivers get totally fubared all over again
  14. Watch the firmware get dropped on your phone, while you no longer give a shit because you are exhausted and disappointed and frustrated.

Yay!

I am loving cross-platform development with Qt, it’s robust and logical and leads to amazing native desktop apps. Before getting started, I expected that there would be lots of platform-specific hackery required, and going cross-platform would slow down the end product by 20-30%. But Qt is so reliable, and well-laid-out, and provides so much more than just lowest-common-denominator functionality, that I’m finding it to be much faster than, e.g., developing a desktop app with C# or Java.

Another reason it is giving me leverage: [n] compilers are better than one. (continued…)

Having all your source code closed is really annoying and is automatically solved with this Visual Studio package addon.

Also, this is my first test of blog posts getting autoposted to Google Plus. Prepare for more geekdom and nerdiness, my g+ friends.

And keeping with the theme of including a graphic in my posts, let’s see how this gets cross-posted…

EXPLAIN!! EXPLAIN!!

Here are quick instructions to get this done and start using TagLib in your project to manipulate tag data in your music files. I had to pull this together from about 5 different places…

NOTE: This was moved to the wiki, because persistent articles belong on wikis, not blogs! 🙂

Why is this not documented well? I don’t understand why people spend man-years creating great software and then don’t bother to document it – did I just miss it somewhere? Prolly…

I love computers and I love user interfaces. I’m pretty lucky to have had access to so much beauty and function. The first real desktop I fell in love with was on my Amiga 2000, circa 1987, and it’s not that different from what we have today – a desktop with icons, a mouse with a highly-responsive, high-precision, (even animated!) cursor, and the ability to run many apps side by side. So have we come much farther?

You have to make an effort in this information age to remain productive. We are constantly bombarded with incoming data that overloads our senses and shuts down our own creativity. Even the ultimate interactive device, the computer, is more and more just used as a browser of the various garbage heaps strewn about the internet.

For me, productivity begins when you move your hand from the mouse to the keyboard. That’s the moment where you begin to carve something out. Other than when applied to computer modelers and other artists, this rule is pretty reliable. Nobody gets any real work done on an iPad or iPhone. Oh snap! Following this line of thought, the primary purpose of an excellent desktop user interface is to move you from desktop to desktop and app to app with the least amount of mouse effort. Following from that, these are the specific primary goals of the ultimate desktop experience:

  • Support 2 monitors. When you really get into a task, you’re going to want to maximize its primary window. But almost every task will require movement of data from one app to another. Two windows allows one task to be quickly maximized with the keyboard, and then the other window can be used to host all the other supporting apps, or a maximized second app, as needed. It’s the perfect configuration to display 2..n apps at once.
  • Support 4 virtual desktops. This is basically the number of tasks that you would work on at the same time. It’s a balanced number – any less and you are not at your most productive, any more and the number of things you’re doing simultaneously get hard to track.
  • Support keyboard driven app switching, maximization, and minimization. This lets you do the most common window tasks quickly without even moving to the mouse at all.
  • Support keyboard driven virtual desktop switching, again to perform the most common tasks at lightening speed.
  • Support keyboard driven movement of the focused app to any other desktop. Another of the most common actions required to organize your major tasks.

Those are the big tasks, dealing with apps that are typically taking up an entire screen. You will find that most modern desktop environments have evolved to provide these basic mechanisms.

What about when you need to work with several apps at once? There are a few different approaches to arranging multiple apps on one screen:

  • Dynamic tiling
  • Keyboard-driven tiling
  • Manual mouse-driven tiling, with keyboard assistance

Dynamic tiling is a great idea, but it should come with the ability to adjust the width and height of the columns and rows very quickly, and that seems to be lacking. Most windows managers at least provide the third option, which should come with these accelerators to be efficient:

  • Provide keyboard modifiers to instantly move and resize the window from any mouse location over the window.
  • Provide window snapping at every edge.

How do the big ones stack up? After the break… (continued…)