31 May 2013

Hype hurts

If you tell me something along the lines of “Next month we are going to announce a product that will change everything!” what have you told me? You’ve told me that you feel the need to manufacture hype. That tells me that you don’t believe the product will be successful on its merits.

Ideally, you shouldn’t announce a product until it is ready to be bought. Perhaps nothing dampens enthusiasm as much as the waiting. There are times, though, when it makes sense to announce a product earlier.

When you do announce a product, though, you should be able to show it doing exactly what you say it will do. If your product isn’t good enough that showing it sells it, then you may need to go back to the drawing board rather than trying to build hype.

The big caveat is the trap of demoïng well. While a good demo is the best way to sell your product, you need to make sure it is as good or even better with long term use.

30 May 2013

Corporate hobbies

I’ve signed up for feedbin as my Google Reader replacement. Firstly because it is the choice of Reeder, but also because I think such a service is worth paying for. Hopefully paying for it means that it will not only stick around but actually see improvements.

Also of note is Feed Wrangler. I enjoy David Smith’s podcast, Developing Perspectives and his Check the Weather app. I suspect Feed Wrangler will be a great alternative too.

I don’t really lament the end of Google Reader as I did Google Notebooks or when Google Docs became significantly less useful to me. I think we’re going to end up with more and better options.

But on to the topic of this post, which is inspired by Google Reader but isn’t really about Google Reader specifically: Some people say that Google Reader never made sense for Google. I don’t agree.

Consider musicians. Most musicians have a “day job”. Their day job is how they make money. They may make some money off music but not enough that they can quit their day job. (Sometimes their day job is music related, but that’s neither really here nor there.) Yet nobody would say that making music never made sense for these people.

The same way that it makes sense for people do spend time, energy, and money on activities other than a profitable job; it makes sense for businesses to spend time, energy, and money on activities that aren’t profitable. Because businesses are made up of people.

29 May 2013

Google Glass

Wearable computing has come a long way

I think you can break down most of the aversion to Google Glass into these concerns:

  1. Privacy concerns about its camera and the way it might surreptitiously take pictures
  2. A safety concern such as it being a distraction while driving
  3. A social concern about how its users interact with other people
  4. How it looks

Concern number 4: We live in a world where people walk around with Bluetooth headsets in their ears at all times and where having your pants pulled down to show your underwear is a fashion. I honestly don’t have a problem with either of those things. Though, it does make me wonder why—if others are doing those things—I don’t wear my very comfortable renfaire garb everyday. I’m not convinced this will be a significant hurdle.

The second and third concerns: I think for most people, these concerns are more about behavior than technology. If people don’t use the technology in a way we consider rude or dangerous, then we don’t mind them using the technology. We’re not banning mobile phones, though we are banning and discouraging their use in certain contexts.

I suspect number 1 is the biggest issue. (Arguably it’s a subset of concern number 3, but it is a very significant subset.) On the one hand, you can argue that, even without Glass, we’re already living in a world where we may be unknowingly photographed or filmed† by surreptitious cameras. On the other hand, you can argue that, in practice, Glass exacerbates the situation.

(Of course, most of the arguments against the camera also apply to the microphone. It’s even easier to surreptitiously record audio today without Google Glass than video, though.)

Whether it is a valid concern or not, I suspect merely eliminating the camera might be the best thing to do to make Glass more acceptable. While that does also eliminate a whole host of features, we can still have those features on our phones.

†It might seem strange to use “to film” here, since film is not involved. Then again, “to film” itself strikes me as a fairly strange verbification of a noun. Yet, its use here feels very natural for me. Language is weird like that. Read it as “video’d” if you prefer.

Image attribution: By Glogger at en.wikipedia Later version(s) were uploaded by Dgies at en.wikipedia. (Transferred from en.wikipedia) [GFDL (www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], from Wikimedia Commons from Wikimedia Commons

27 May 2013


In my current classic D&D campaigns, I’ve switched to a “silver standard”, and I describe the coins this way:

Early Medieval Coins Fitzwilliam Museum

By Arichis at en.wikipedia [Public domain], from Wikimedia Commons

  • Gold is treasure
  • Silver is money
  • Copper is change

Which is really the whole point of the change. Having the PCs start the game with 100 gold coins to spend (even if it really only represents their net worth rather than actual coinage), dampens the impact of finding a coffer of gold coins.

But I find that the 1gp:10sp:100cp ratios (call it “tens, dollars, and dimes”) that I’m using—because it made converting from standard values to mine easier—don’t quite give that feel. I’m thinking 1gp:100sp:10,000cp (hundreds, dollars, and pennies) would better represent those distinctions.

One of the sources I like to borrow from is history. (Plus, it gives me an excuse to learn about history.) So, I took a look at the coins during the reign of Edward III and Roman currency. Neither of which really have anything close to a 1:100:10,000 trio to use as a model. Which is disappointing.

Maybe 1:20:400 would be sufficient? Although, failing the history reality-check doesn’t count 1:10:10,000 out completely.

Either way, it makes the math between classic D&D and my D&D values more difficult.

25 May 2013

0 < 30 < 35

John Gruber quoting the Washington Post quoting Tim Cook...

“If you look at it today, to repatriate cash to the U.S., you need to pay 35 percent of that cash. And that is a very high number,” Cook said in an interview Thursday. “We are not proposing that it be zero. I know many of our peers believe that. But I don’t view that. But I think it has to be reasonable.”

We know Apple’s favorite percentage is 30, so they should be happy with that, right?

24 May 2013


A PDF should be more than a facsimile of a print product.

I agree with that, but only a bit. There are a few things beyond print that should be provided: Providing bookmarks and making sure the text is searchable and copyable.

But the one reason for choosing PDF is that it is the best digital format for print products. Sure it has lots of digital features. If you’re really serious about making an digital product, however, you should be looking beyond PDF.

Of course, other formats have their issues. Sometimes people come back to PDF because that print-basis makes it seem more mature, which arguably it is. But, if you’re trying to move beyond print, you need to move beyond a format with such a heavy print bias.

23 May 2013

File systems

“It’s a UNIX system! I know this!”

It is well known that users have a difficult time understanding the standard, hierarchical computer file system. I wonder that’s really the case, though.

For example, the Mac—from the beginning—taught users how to use the file system though the Finder. The Finder was the Mac “shell”—the program the user used to get to and organize their documents and applications. But when the user interacted with the file system within an application, it presented it in a completely different way than the Finder did. This was always the biggest stumbling block I witnessed new users stumble over on the Mac. This dichotomy tended to be repeated in most GUIs that followed.

Perhaps the problem isn’t with file systems themselves but with the ways we’ve expected users to interact with them.

The screenshot above is not actually from fsn, which was used in Jurassic Park. It’s from fsv.

22 May 2013

iMac vs iPad revisited

Back in 2010, I took a look at how many of the apps that I used on a daily basis on my Mac had an equivalent on my iPad. Let’s take a look at how things are different here in 2013.

Now, I use iMessages much more than AIM, and it has even replaced iChat on the Mac. (Though I do miss some iChat features.)

Besides third-party equivalents, there’s now an iPad version of GarageBand.

I now use UX Write more than Pages on my iPad. I actually use it a lot on my iPhone too. Since my favorite Mac HTML editor, Amaya, hasn’t been keeping up-to-date, I wish I had a Mac version of UX Write.

The iPad can now print.

There is a GuitarPro for iPad now. It is mostly for viewing, but it does have a decent notepad that can be used to write a bit of tab. Notion, however, is a full-fledged music engraving app for iPad.

While I’m not expecting an iPad version of DrRacket (née DrScheme) any time soon, Lisping is quite impressive. See also the Gambit REPL app for iPad.

Posts is a great app for writing and editing Blogger posts. I still have lots of problems with Blogger all around, but it is equally painful on both the Mac and the iPad now.

Another Mac app I use a lot is Terminal. (I use Cathode a lot too.) The iSSH iPad app and my Bluetooth keyboard have allowed me to telecommute with only my iPad.

I do my taxes with TurboTax on the iPad now instead of on the Mac.

Soulver is an app that I use a lot on Mac, iPad, and iPhone.

Nearly all the graphics I create are made on the iPad with Inkpad. I don’t remember the last time I created a graphic on the Mac.

IMovie gets used the most on my iPhone.

21 May 2013

Textures, skeuomorphism, etc.

From “Tail Wagging” by Matt Gemmell...

At first glance, making the interface visually resemble a physical object seems like a reasonable way to create that immersion.

I think we are long past when these elements where argued to make software more immersive or more usable.

The textures in Game Center aren’t there because it makes the app more immersive or more usable. The textures are there because some of the people at Apple like the way they look. Some of Apple’s customers like the way it looks too.

The page flip animation in iBooks isn’t there because it makes the app more immersive or more usable. It’s there because some people like it.

The reel-to-reel tape player animation wasn’t put there to make the app more immersive or more usable. It was there because it was fun.

20 May 2013

Star Trek: Into Darkness

My response to Star Trek: Into Darkness is much like my response to the first Abrams’ Star Trek film.

I could complain about various ways it lacks things I liked about the original Star Trek. I could complain that it draws from the canon well too often rather than standing more on its own. I could complain about plot holes and other issues with the film when considered on its own.

But I enjoyed it so much that I don’t want to do any of those things.

I also have to say that really enjoy these characters—both for how they are like the originals and for how they are different.

19 May 2013

Christology / Christian

Was Jesus fully God, fully human, both, or neither? Could Jesus really know the human condition if He was truly without sin? If Jesus was omniscient, unable to deceive himself the way we can, how could He have struggled with temptation the way scripture tells us He did?

Was Jesus married? Did He have a beard? Did He wear His hair long? Was Jesus an actual historical person or a myth?


By Berihert (Own work) [CC-BY-SA-3.0], via Wikimedia Commons

These are all interesting questions to ponder, but—ultimately—I don’t believe they matter. Jesus’ message wasn’t about His nature, even if scripture occasionally tries to say that it was.

Being a Christian is not—to me—about the Trinity, the nature of the Christ, the Immaculate Conception (which probably doesn’t mean what you think it means), the Cross, the Resurrection, or the Afterlife.

Being a Christian is about a humble attitude, a charitable spirit, and the words & actions that flow naturally from those. It is about being at peace in the midst of strife. It is about loving both the lovable and the unlovable. It is about forgiving the unforgivable. It is about learning to listen to that small, still voice inside. It is about being able to put other priorities above your will. It is about learning that whatever mistakes you may have made, you are worthy of love, you can turn things around, you can make amends, and you can be forgiven.

Is that cherry-picking? Perhaps. I’d rather be called a hypocrite for using reason and prayer to discern the Godly from the human in religion than to be called a hypocrite for putting the letter of the law above the spirit or for preaching one thing while practicing another.

Note that while I may be all three kinds of hypocrite, I am saying that I only aspire to being the first. I’m working on not being the others.

18 May 2013

Fake call/values

For the programmers in the audience. Knowledge of Scheme is assumed.


Lisping currently comes with TinyScheme. TinyScheme doesn’t support multiple return values (i.e. values and call-with-values). So, I did this...

;;; How to fake multiple return values
(define values list)
(define (call-with-values producer consumer)
  (apply consumer (producer)))

It was a bit surprising to me that it was that easy to fake.

This isn’t quite equivalent to the real values and call-with-values. e.g. Given a single argument, the real values function returns that argument, but my fake one returns a list instead. Which, in fact, broke another part of my code where I was using values as an identity function rather than for returning multiple values.

;;; The real values function
(values 5) → 5
;;; My fake values function
(values 5) → (5)

I imagine that real multiple return values can be more efficient than a list. On the other hand, it seems like a smart compiler could optimize-out the list in the fake version too.

Edit 21 May 2013: There is some interesting discussion here.

[...] Matthias Blume argued passionately against the presence of values/call-with-values in Scheme on the grounds that they add nothing to the language as a language—that is, they grant no additional expressiveness beyond what is already possible with list and apply [...]

The primary arguments in favour of values/call-with-values were that they allow implementors to optimise generated code in ways that are impossible or more difficult in the list/apply case.

17 May 2013


Lisping is an iPad editor for the Scheme programming language (or Clojure). It is pretty much what I imagined in 2010 when I wrote about a Viaweb/RTML-style Scheme editor.

02 May 2013

Kickstarter projects should be simpler

At this point, having add-ons as part of your Kickstarter makes me less likely to back it. And the more complicated things are, the more this counts against you. Why?

First, there’s simply that I have to make some attempt to understand things even to decide to choose a simple option.

The more complex things are, the longer it is going to take you to fulfill my reward. Even if I personally choose a simple option.

The more complex things are, the more likely you are to make mistakes.