Tuesday, April 17, 2018

Good Artists Copy, Great Artists Steal

I'd like to take this quote apart and explain its meaning to me.

The general idea is someone develops an idea, something novel and interesting, and creates something new. Someone else,  the great artist, comes along becomes familiar with the original idea, groks it, realizes how to bring it to the next level, and is able to create a product that is so much better than the original creator, that the original is a forgotten footnote. At that point, the idea has been stolen by the great artist who understood the idea better than its creator.

Example, via my brother James, at one point opera was invented and its practitioners  busied themselves taking this interesting concept and making operas of varying quality, and everybody was pretty happy with what they were doing and congratulating themselves for creating this new art form. And straight out of Amadeus, Mozart came along and revealed what came before as primitive. Mozart and taken the basic idea of opera and made previous attempts obsolete.  He stole opera.

Example. Smart phones existed before the iPhone. The idea is pretty obvious, and Microsoft worked at cramming Windows into a handheld device and were happy enough being the leader in a niche market. Along came Steve Jobs and his team, they thought deeply about the idea of a handheld computer and came up with a design that revealed previous attempts as clumsy, ill thought out toys. They did not try to copy Microsoft by jamming OS X into a 3.5 inch screen. Instead, they stole the smart phone.

I asked—a really quite good—programmer and colleague, "Who invented the smart phone?" He told me "Apple".

The lesson to me is we should strive as creators not to just blindly iterate on each other's work, but to look for our moment, our flash of understanding when we too can steal an idea and make it our own. I'm still looking; someday.

Sunday, October 29, 2017

Why I'd Buy a Subaru Impreza over a Civic or a Mazda 3

As I've written before, I was fixated on buying a recent Mazda 3 hatchback. Such a beautiful car, available with my favored manual transmission. Zoom zoom. However, Mazda has been promising for years to support CarPlay, and I have stopped believing them.

So, I cast about for a hatchback, with CarPlay, and a manual transmission.

Well, what about the new Civic? I've driven the same Civic for 14 years; I like Honda. However, unless you include the pricey Type R model, Honda will not sell you a Civic with both a manual transmission and CarPlay. Plus, I think the current model is angularly ugly, filled with faux touches. Nor, do I like the added mechanical complexity of a turbocharger.

My co-worker who owns a 2017 Civic, loves it, and I understand why you need an automatic for the collision avoidance features.

I spent more time in the Edmunds app looking at cars, and on YouTube watching review videos. Seems as though most people say great things about the 2017 Subaru Impreza hatchback, which in its lowest trim, the 2.0i, has both CarPlay and a manual transmission. If you go up the trims, you will end  up with a larger screen, but I'm not going to spend thousands of dollars for a bigger screen. For once, the base model has everything I really want. And while the CVT transmission might give better gas mileage and have more safety features, nobody who reviewed the car said they liked the CVT, and I have to believe it will be less mechanically reliable than a manual. Plus, this will likely be my last gasoline burning car, and I want to enjoy the anachronism.

As a big plus,  all wheel drive is a great match for driving in New England.  I am already visualizing putting a couple of kayaks on the roof rack and heading out into nature with my family.

So, early in the new year, as soon as I muster up the cash, I intend to buy a used 2017 Impreza hatchback. Maybe.

CarPlay Drops? Try Shortening Your USB Cables

I have not been a happy CarPlay user for the last couple months. I'd started getting the occasional loss of connection with my previous 3rd party receiver, and it had just gotten worse when I switched in a new one. I'd connect my iPhone 5S, it would work for a few minutes, sometimes as long as half an hour, and then CarPlay would just disappear. Replugging it in would usually work, but typically for a shorter time. I'd taken to just listening to podcasts over Bluetooth.

Things I Tried

  1. Switching from a 3rd party Lightning cable to an Apple original.
  2. Putting the phone in low power mode (maybe it was a charging problem)
  3. Just using Podcasts, avoiding Maps or Phone.
  4. Turning off Bluetooth (I drove the half hour to work once without drops when I forgot my Apple Watch)
  5. Updating to the iOS 11.1 beta.

What Worked

Replacing the 40 inch Lightning cable with a 4 inch cable. The phone might have been hanging from the USB socket, but it didn't drop over several days of commuting. 

I had installed the receiver myself, and had purchased a cable with a USB-A male to flush mounted USB-A female. It looked nice, mounted on the dashboard, but 6 inches would have been as good or better than 6 feet.

A 6 foot USB Auto Cable
All, I really wanted, the flush mounted socket
To sum up the cable run: 
  • Cable embedded in receiver: 3Ft
  • Flush mounted cable: 6ft
  • Apple Lightning cable 3.5ft
So a bit over 12 feet. A quick googling indicates that USB 2 has a maximum length of between 3 and 5 meters (10-16 feet), so 12 was starting to be a bit marginal, coupled with 3 separate cables, my oldish phone, and I could see where it might not be reliable.

Long term solution

I pulled out the overlong cable and replaced it with a 3 foot version. Fingers crossed; I've fooled myself into thinking I'd solved this a couple times before.

Thursday, October 19, 2017

Apple Has A Second Chance at the SEx (iPhone that is)

There's an old story that when Apple was getting ready to release the fast version of the Macintosh SE, their naming convention should have resulted in a Macintosh SEx, but they demurred and gave it the tamer name Macintosh SE/30.  I can remember desperately wanting one, one of the most legendarily future proof machines ever to come out of Cupertino.

And now, I'm waiting impatiently for the rumored new iPhone SE with a modern A11 Fusion chip to replace my rapidly slowing iPhone 5S. And what would you call an iPhone SE with the same processor as an iPhone X?

The Legendary SE/30 (via Wikipedia)

Sunday, July 09, 2017

Why Doesn't The Compass Work in Some iPhone Apps?

As a writer of apps—such as TV Towers USA—which rely on the device's compass, I periodically would hear from users who don't see the compass in my apps. This confused me as they would also report the built in iPhone compass app working. And the apps worked perfectly well for me.

I've finally figured out what is going on. At some point, the users had turned off compass calibration in their location privacy settings. And since my apps are set to request calibrated data, the app gets no compass data at all.

So, to fix, open the iOS Settings app.

Tap the Privacy item:

Tap the Location Services privacy item:
Tap the System Services item (way down on the bottom):

If Compass Calibration is disabled, then this was likely your problem. Enable it.

And, I hope, your app will go from not having an active compass, to having one:

I should look into detecting this condition and warning the user. Hope this helps.

Thursday, February 23, 2017

True North and the iOS Compass App

I recently got a 2 star review for my TV Towers USA app.

This would be a nice app if it pointed in the right direction!  Most of the time its sense of

direction differs from the compass app.

How can that be? ⭐⭐

Well, the short answer is that the iOS compass app tries to act like an old timey compass where North means magnetic North, and TV Towers USA instead is displaying the direction based on North being the Earth's north pole. You can go into the settings for the Compass app, turn on "True North", quit the Compass app and from then on, it will act like a super-compass that can calculate the location of the North Pole based on both magnetism and location.

I've put together a short video to describe the situation, and how to configure the iOS compass app.

Thursday, November 03, 2016

Why an Ad Supported Model Isn't For Me

As always, I was grateful to get a 5 star review for Signal GH, my app to let HDHomerun users best point their antennas. 

⭐️⭐️⭐️⭐️⭐️ Very useful. - Does exactly as described. Very useful if you are aiming an outdoor antenna, especially on a roof or similar. Gives data that is all in one place and not easily found with other software. Kinda stings to buy an app that you only really need once or twice. Would be ok with ads built in to make it free as nobody needs an app like this very frequently.

I think this idea deserves a response.

I don't like apps with ads in them. As a consumer of apps, I don't download ad supported apps. I don't like the contortions ad support brings to an apps layout, and the lengths it drives developers to get more views.  So, I'm not inclined to use ads just on principle.

And even if I were so inclined. A little research indicates that a good ad rate would be $4 per 1000 ad views, or .4 pennies per view. Let's say that I could prolong the antenna pointing session long enough to squeeze 10 views out of my users, that would be 4¢ per user. Maybe, if I did a poor job in the first session, I could rake them back in for a second, so 8¢. I make $2.10 from a sale of Signal GH, and with that I'm far away from quit my day job territory, or even pay for my computer hardware territory. Nor is there a universe out there with 40 users for the app that will download a free version for every 1 that would pay for it, and if there were, how would I be able to respond to any tech support they needed?

Meanwhile my users have paid $100 for a decent antenna, $90-200 for an HDHomerun, plus cables, a pre-amp, connectors, paddle bits, drills, masts, grounding wires, and a TV. All of these cost more than the $2.99 they pay Apple for my app, and ending with a set up that will deliver free (ad supported) content for years.

So, no, I will not be moving to an ad supported model.

Sunday, October 02, 2016

On Typing Everything In - My Updated Web Site

I have a quirk of typing what most people wouldn't think type-able.

My wife was once going to be the stateside representative of a Beijing University department, and needed a business card. And as I wanted it to be a perfect business card, I typed the entire thing as EPS as in:

%!PS-Adobe-2.0 EPSF-1.2
%%Title: peking university logo.eps
%%CreationDate: 4/8/08 1:30 PM
%%BoundingBox: 0 0 50 50
{ circtextdict begin
/radius exch def
/centerangle exch def
/ptsize exch def
/str exch def
/xradius radius ptsize 4 div add def
centerangle str findhalfangle add rotate
{ /charcode exch def
( ) dup 0 charcode put outsideplacechar
} forall
} def
{ circtextdict begin
/radius exch def /centerangle exch def
/ptsize exch def /str exch def
/xradius radius ptsize 3 div sub def
centerangle str findhalfangle sub rotate
{ /charcode exch def
( ) dup 0 charcode put insideplacechar
} forall
} def
This was back when Postscript was fresh in my mind after rebuilding ChemDraw's Postscript sink, nowadays this looks about as confusing to me as it does to most of you. I will admit that doing text along a path in Postscript is not as easy as it sounds. 

And, of course, I write all the graphics for my iOS apps in raw SVG. This has been great for responsive design and reusability. as in this location dot/compass from my broadcast towers apps. 
It seems to me that a good way to learn something, whether it be Postscript, Swift, SVG or any other computer language, you have to roll up your writing sleeves and start typing. Thus, my goal the last month has been to learn CSS. As anybody looking at my sloppy Blogspot blog here can see, I have not been an expert in either HTML or CSS, and I have hopes of changing that. 

So, I took my old iWeb website (yes, I was still using iWeb) and wrote a new one from scratch in pure HTML/CSS. No Javascript, no Typescript, no frameworks or templates. The new GenHelp.com meets my simple needs and is pretty nice, I  think, for somebody with so little experience with modern web page development. It's mobile first, responsive, and makes good use of many of the SVGs I use in my native apps. For instance, all the app pages, use the actual SVG I use to generate the PNGs for the app icons. 

It'd be nice if Safari supported my favorite SVG property: vector-effect="non-scaling-stroke" but other than that, the graphics just work and make for some very light pages, and graphics that scale as the size of the page changes. If you are on a desktop browser, go and see how the icons on my home page scale smoothly with the size of the page. Extra responsive and extra gratifying. 

Maybe now, I can get to work on my Swift CSS parsing project.