Tuesday, December 27, 2011

AppleDisplayScaleFactor and Lion

(I did this digging around on Darren Abate's behalf, because I didn't know Apple had left this little feature in there until he told me it was gone!)

Apple used to have this cool feature secretly stashed in the Quartz Debug developer tool that let you shrink the screen down. And then any large screen app could easily be run even on a tiny screen. Why? Because that's what Apple was trying to promote at the time--test your apps with icons and art for different resolution screens. High density displays were coming, Apple told us (in 2006). Be ready, they said.

1024x1024 icons. Use PDFs for icons, not PNGs, etc. Cool stuff!

But for those of us with laptops, the Quartz Debug tool that let you change the display resolution also let you scale the resolution *down*, so you could see more on your tiny laptop screen. The ability to actually see what our larger-screened Mac usin' brethren were seeing was a godsend!

Unfortunately, Apple removed this capability way back in Leopard, I think, from Quartz Debug. It only scaled up from that version on.

What I didn't know until today was that they left this feature exposed through the 'defaults' system.

So if you still have Snow Leopard, you can open your Terminal and type this...

defaults write NSGlobalDomain AppleDisplayScaleFactor 0.8

... and any apps you open from that point forward will display smaller. The menu will be smaller, the UI smaller, everything. It's really cool. Here's Safari at 80% resolution. See the tiny window controls? Compare that to the controls of the Terminal window, which I typed the command in before launching Safari. And yes, that's Conjure running in the background.

80% res == 120% Kewl.

Unfortunately again, in Lion, they removed that as well--those High Density screens must be right around the corner. So there's no currently known way to scale the screens down.

The good news is that the capability to scale *up* is still in Quartz Debug. Apple even refers to it in their developer docs...


SO... if it's there at all, I'm pretty sure it still works both ways, they just didn't want to make it simple. The big question is, how do we access it, and can it somehow still scale down?

Macbook users like me want to know!


Monday, August 29, 2011

9/11 Memorial and the First Responder Conspiracy

There's a nasty rumor going around that the first responders won't be part of the  9/11 10th anniversary memorial.

And it's true. But it's really not a big deal.

Here's why.

First, the memorial ceremony is for the families of those who died on 9/11. Not those who survived, and not those who helped. The simple reason is space.

The entire 9/11 memorial area is roughly 8 acres.
Of that 8 acres, about 4 acres does not include a structure, hole, or monument of some sort.
Of that 4 acres, about 1 square acre is taken up by memorial trees and their bases.

So there are about 3 usable acres of space on the 9/11 memorial grounds. 

One acre is 4840 square yards.

Three acres is 14,520 square yards.

A single person takes up one square yard when standing, including room to shuffle nervously, which is what people do when they're packed in like that.

1,609 people lost a spouse or partner.
3,051 children lost a parent.

So only 4,660 people would be there for the memorial, right?


But of those who died, let's say there's one parent of each who would want to be there as well. 

That's 2,819 more people, for a total of 7,479. 


Keep in mind this is for just these people to be there. We're already over half capacity, and standing room only. 

7,479 invites
7,041 spectators

That's where we are before we include the first responders. 

In the 17 minutes before the second plane hit, over 1,000 NYC first responders were called to duty. If each of those brought one person, we're looking at roughly 2000 more people. So now we're at... 

9,479 invites
5,041 spectators

I don't know how many were there in the hour or two after the second plane. But the number of registered first responders who showed up from out of town in the first 24 hours of 9/11 exceeded 3,000.

If each of those brought a person, well, we wouldn't have room for them. 

15,479 invites
-959 spectators

Okay, back up. Let's get rid of those 'late' first responders. Just with the 'first' first responders, we'd have room for about 5 thousand people there who weren't part of the ceremony. 

Again though, standing room only. Surely, that's enough though, right? If we exclude first responders who showed up after the second plane, we can do this...

9,479 invites
5,041 spectators

In the first day the memorial tickets were for sale online, over 24,000 people tried to buy them. 

We could easily fit everyone there, if we stack them on top of each other, like a giant Jenga puzzle. 

Otherwise, maybe we should have more than one ceremony. And as I understand it, that's the plan. 

Wednesday, August 17, 2011

CryEngine vs. Unity3D

As hinted over a year ago,  of today, CryEngine is now free for non-commercial use. That's fantastic! CryEngine is used in at least 30 commercial games, and most of them look gorgeous. Here are a things to consider if you're looking at this new engine.

Even orphans look happy!

Awesome engine with a proven track record and a name that will get gamers interested in your title. Even the CryEngine demos are beautiful, so if you say your title is based on it, you'll get some bonus play with the gamer community, even before your game ships.

The CryEngine mod community is very active, and this translates into having a solid development platform. Its designers already knew the kinds of things people wanted to build with it. So if hearing that the engine is free excites you, you're the type of person they built this free kit for.

There are a few 'gotchas', of course.UDK and Unity3D are already free for non-commercial use. But unlike the other guys, the CryEngine team hasn't disclosed how much the commercial license will cost.

Also, like UDK, the free CryEngine environment is PC only at this time.
Unity3D can (with a single click) deploy to iPhone, iPod, iPad, Android, Wii, Mac, PC, and Web, and they provide help getting it onto the XBox and PS3 (I have no personal experience with this, so I can't say how extensive that help is).

And UDK can deploy to portable platforms as well...

I assume that if you pony up the dough, the CryEngine guys will let you deploy to other platforms as well. Time will tell. And frankly, if their development environment remains PC only, and their target platforms are only PC, XBox 360 and PS3, that will still be enough for most people.

That said, the Unity3D game engine isn't some doltish slacker. And keep in mind that their engine already runs on iPhones, computers, web browsers, and console game platforms...

How will it affect me personally? Well, let's look at the kinds of stuff I get to work on.

Shot Simulator

It would be fantastic for the Shot Simulator, but since it doesn't deploy to the iPhone, iPad, or Android, that would be a problem. Maybe in the future?


I'm honestly not sure if it would be a good match for the VTI Games like +Poker, since all of them are card games. Despite that they use real physics, objects, and rely on Unity's rendering engine, I've never seen a CryEngine based casino game. But who knows.

Project Griffon

It would be *ideal* for Project Griffon (which will be re-released in a few weeks). Griffon is a third-person mech combat / shooter. The lighting and visual effects of CryEngine will be fantastic. But I do all of my development on Macs, so I'd have to use CryEngine's kit by running Windows 7 on my Mac. That's a tall order. So far, UDK doesn't exist on the Mac, which was a show stopper for me. So I'll have to think about it.

I'll be looking into the CryEngine in more detail in the near future. Until then, I can say it honestly looks impressive. And it will be really nice to have them officially in the arena. But Unity's going to be extremely hard for them to compete with. With so many great resources, it's a great time to be a game developer. 

Friday, July 8, 2011

How To Rescue Dead Laptop Data With An External Drive

This falls in the general use category, I think. Over the last few weeks (months?) my MacBook Pro has been falling apart. And then a few days ago, it died. Smoke poured out and everything. I suspected that the hard drive was okay though. So I took it out, and removed the side mounting torx screws. But that does me no good without a way to retrieve the data. So I dressed up, went to Walmart, and found an older model Seagate GoFlex in the giant discount electronics bin next to the discount meats.

After only a few minutes of tinkering, I'd fully rescued all of the data from my old drive. Here's what I did, and you can, too!

First, get out some tools. 
You really only need a pocket knife, but the Leatherman Crunch looks so cool. And I put a screwdriver in there because using a screwdriver instead of a pocket knife will lead to not stripping as many screws. 

Use the pocketknife to gently part the lid from the plastic. It's held in by glue, and all you need to do is wiggle it a bit on each edge to get it apart. 

Or, if you're like me, pry that sucker open like it was filled with Raspberry Jelly!

Alright, see that cable that you just accidentally unplugged? (Unplug it if you didn't) 

Remember that. you'll plug it back in later. That takes power from the USB connection and lights up that emblem on the front of the case.

Now use your pocket knife to pry the rear side out. 
It's not hard. It's held in by friction on those little rubber nubs on the side of the drive. If you flip it upside down and shake it, it will fall out. Note that shaking anything computer related is not really advisable. Just pry it out, slacker. 

Remove the black nubs from the screws. They just fall off, usually. They'll roll under stuff and hide if you're not careful. You'll want them later, when you put all this back in the shell. So put them somewhere so you'll be able to put them back on, in a few minutes. 
Then use a screwdriver to remove the screws holding the drive in the metal shell.

Now remove the metal tape from the sides of the drive, then remove the drive from the shell. 
It just slides up and out, with the connector port poking through the shell.  

And as a final step, remove the connector from the front of the built-in drive. 

Now plug that connector that onto the old drive from your laptop, and follow these steps in reverse, to put your old drive in the portable drive's case. 

When you're done, you'll have your old files safely stored in a portable external drive case!

Wednesday, June 8, 2011

Conjure Runs in Lion

I have official, visual confirmation that Conjure runs in Lion with no problems.

So there. 

Sunday, June 5, 2011


I'm not selling out. But I've been asked a few times if that's really the Aero interface used for the help screen in Conjure. And the short answer is no, Aero is not an interface option on the Mac. But it's fairly easy to implement in an app.

That said, I do like the idea behind Aero. As humans, we are used to our eyes 'focusing' on things we're interested in. So this is definitely an interesting user interface concept.

I can see this being more useful for modal dialogs than other things, but I might add it as a feature for the Conjure desktop in 'focus' mode.

Saturday, June 4, 2011

Was News Corporation's giant sign actually hacked?

I don't think so. Don't get me wrong, I love a good act of public defiance. And I'm not a huge fan of Fox News. But I don't think this video is legit.

Here's how I used Conjure to come to this conclusion...

First, I looked for reference points and lines in the video that could be compared. It wasn't easy, since you only get about half a second of video zoomed in at the same distance as the final text is zoomed. But that's enough.

Next, I resized, rotated, and changed the alpha on the second image to match the points of reference on the first image...

Third, I looked for any dead giveaways. 

There are. With all of the reference points lined up, the replacement text is slightly larger than the original text. That could be the result of replacing one font with another one, or just showing it at a slightly larger zoom level. The visual distortion on the screen between when it's normally running, and when it's 'hacked', is pretty considerable, and suggests this is just a giant LCD screen. But most screen hacks like this only aim to replace the text itself, not the font, and they usually don't change the font size either. 

So it looks a little fake, to me. 

Speed up XCode with one click.

There's one simple little thing you can do in XCode that will dramatically speed up your builds. Most experienced developers know this, because once you do it, it changes build times, especially for small projects and tests, dramatically. So you might know this. I think I knew about it a few times, but I keep forgetting to turn it on. So this blog entry is as much a reminder to myself, as it is an attempt to help anyone else who might've forgotten it.

Build time without magic powers activated: 16 seconds.
Build time with magic powers activated: 1 second.

See that? That 16 seconds may not sound like much to most people, but when you're trying to solve some specific problem, and you're in the middle of a build/debug/repeat cycle, that 16 seconds gets real damned old, real damned fast.

Alright, here's the magic...
Precompile Prefix Header

Yeah, it's that simple. 

Thursday, June 2, 2011

Mac Viruses and Other Stupid Hoaxes

I'm writing this to clear up a bit of confusion and panic over the Mac 'virus' scene. The latest trojan (not a virus) is loosely referred to as 'MacDefender', and masquerades as a Mac anti-virus app. This is not the end of the world. It's not even the beginning of the end.

But first, a little background info...

A Virus is a piece of software that spreads by making a copy of itself, when it's placed on a new computer. Usually they have some ulterior motive. Some viruses send out spam. Some viruses delete your files. Some do nothing at all. The distinction here is that a virus has to make copies of itself (self-replication) in order to spread.

Your computer gets 'infected', usually without you knowing it, by having a virus installed on your machine usually without any human intervention. And yes, there were Mac viruses, long ago.

A trojan is a piece of software that spreads by acting like it's harmless, then doing something bad once it's installed and running on your computer. Trojans usually require human intervention. And Trojans usually do something bad, like look for credit card info and send it to the trojan's author, or install adware on your computer. Trojans don't usually self-replicate. They are usually one-trick ponies.

MacDefender requires that the user downloads and installs the MacDefender program, even walking it through the installation process. In some variations, the download occurs immediately when you visit a particular page. But the trick here is that at all times, you'll be faced with this window, at some point.

And when you are, just go to the File menu and *quit* the installer.

How Apple Can Stop This Madness Immediately 
(and how you can, too)

There's a setting in Safari, that automatically opens files that the browser thinks are 'safe'. Like some types of installers, apparently. If you use Safari, open the Preferences window and turn this off.

Problem solved in one step. 

This isn't the first time Mac users have been faced with crap like this. There was the QuickTime Autoplay virus back in the olden days, which was similarly stupid. When Apple finally turned off that feature, the last of the true 'Mac viruses' died off.

Why aren't there more Mac viruses? No one actually knows. The OS has security holes, but Apple patches them fairly quickly. And security 'experts' are quick to jump on every single security hole and announce to the world that the sky is falling. That's just how security experts behave, though. So far, the sky's still up there. So they were all wrong.

Maybe it's the small market share! No, there were Mac viruses in the olden days, when there were far fewer Macs in the market, and they had a much smaller market share. Many virus authors write them for fame. Imagine the fame associated with being the first author of a real Mac virus! Well, it's been about a decade now, since OSX started shipping with every new Mac. You'd think they'd have figured it out in 10 years, if it was possible.

To be honest, I've never heard a good explanation for why there aren't more Mac viruses.

So what did Apple do? They posted this tidbit, about how to remove MacDefender if you have it.

Then, in a software update, they included a thing in the operating system that allows the user's machine to get daily updates for malware 'signatures', without requiring a full system update. As a result, if your software is up to date, you'll see this instead, if you download MacDefender, or any of its variants...

Apple has responded to this particular one in a bizarre fashion. Rather than just seal off the vector (by turning that auto-open feature off by default in the software update), they added this, so they can selectively choose which files are 'safe' and which ones aren't. And Apple can update this as often as they want, so your Mac is constantly up to date.

This presents an interesting challenge to the hacker community. Apple can afford to pay a guy to change a few names in a file every day. Can the guy(s?) who wrote MacDefender afford to change their app often and enough to no longer be caught by Apple's detector, all the while finding new domains on the web to post the updated MacDefender trojan to?

Time will tell, I suppose. If Apple gets frustrated, they can always slam the door shut. But that's what I expected them to do. They don't have to play the cat and mouse game. So why do this? It almost seems like the cat is toying with this mouse.

Friday, May 20, 2011

Post-Rapture Clothes Donation

Some people believe tomorrow will be the start of the Rapture. I'm not going to question them. 

But if it does happen, or even if it doesn't, there will still be problems in our world. The Salvation Army consistently does good things for people the rest of the world would rather forget about. 

(These guys)

They could really use your used clothes. 

(image stolen from Jack Bennet II's Facebook page)

So if you're planning on not being here after tomorrow, or if you are, but want to contribute in some meaningful way to the world around you, please pick out one set of clothes tomorrow, May 21 2011, and donate them to the Salvation Army. Think of it as a Post-Rapture gift, for those unfortunate souls who have been living, and who will likely continue to live, in hell on Earth. 

You can find the nearest Salvation Army truck by going here, and entering a zip code in the search box. SATruck.org

Thursday, May 19, 2011

Clickjack Viruses and You

If you're here, it's probably because you ran into a 'clickjack' virus on Facebook, which 'liked' some page for you, without you knowing it.

This happens because virus authors have found a way to exploit a flaw in web browsers, which they can use to tell Facebook that you liked something, when you really didn't. 

First, you should know that viruses are not created by nature. They don't evolve. They're created by virus programmers, who usually do it for kicks. Sometimes, they do it for money, or to sell ad space. Think of it as free advertising for them. 

You see, when you 'like' something, that tells your friends about it. It's word of mouth advertising, which is frankly the best kind of advertising.

A clickjack virus is one that fakes a 'click' somewhere that you didn't actually click. Usually on a 'like' button. It's not Facebook's fault, as far as they know, you really did click on the 'like' button. 

In the last year, clickjack viruses have been rewritten hundreds of times, and they're becoming increasingly advanced. Today, we have clickjack viruses that use a JavaScript trick to simulate a click 'for you', just by going to a web page. Isn't that nice of them? 

If you saw this picture and video on your friend's Facebook wall, and you clicked on it to see what it was, you'd be taken to a page with a video on it. It might have some additional stuff on it, like a Facebook looking page with links to polls of some sort. It probably looked like this...

In the second or two it takes that page to load, Facebook has been told you 'like' about three different pages. And yeah, it told all your friends about it. 

If you do get one of these, at least for now, your personal data has not been snaked. It's just faking a click to get a free 'like'. To prevent your friends from falling for this though, you should remove the links to all of this as quickly as possible. To do that, click in the Profile tab in Facebook, then look for any 'likes' that you didn't click. Look for any suspicious videos you didn't post a link to. Then move the mouse over them, and you'll see a tiny 'x' to the right. Click that, and remove it by either clicking the Remove option, or the 'Report as Spam' option. Both will get rid of it. 

Anti-virus software does not protect you here, since the virus is not a traditional computer virus. And using a Mac won't protect you. It's more like a clever webpage than a 'real' virus.

The only real prevention at this time, unfortunately, is to just not click on these links to begin with. So think before you click. If your friend is a college professor, and they post a link to "OMG LOOK @ WUT THIS GIRL N HER DOG DIDD!!?!", there's probably a clickjack virus waiting for you on the other side of that click. 

And don't be embarrassed by falling for it. If you fell for it, that means the other person fell for it first!

Also, the video they link to usually doesn't exist. Sorry about that. 

Sunday, May 15, 2011

Conjure Design Principles: Consistency and Colors

Conjure Design Principle #1 Consistency Makes Things Easy
Part 1 of a continuing column on design principles behind Conjure's unique interface. 

Colors and Color picking in Conjure 4.5
A new feature in Conjure 4.5 is the Colors window. I know, big deal, it's a window with colors in it. But more thought goes into this kind of thing than most people realize. In this case, there were some design decisions made that I hope everyone likes. One of the constant goals of Conjure is to keep things as simple as possible, without compromising power. 

A recurring theme among beta testers' reports is that it's hard to set the color of things, or know where to go to set the color of things. 

Der Problemo...
There are too many settings in the info window as it is. So to set the color of something, you have to select it, open the info window, scan it until you find the item that most closely describes  the thing you want to change, then change it. For colors, this means clicking a button that opens another window (the Cocoa Color picker). That's a lot of steps, for something you probably do often. And that last set of steps, where you have to figure out where to set it, hurts the rest of the UI design as well, since every object has different attributes (stroke, fill, text) that *can* have different color settings. 

There are four different color settings you can choose there. Four. Five, if you include changing from a gradient to a color.  Well, let's see what the other guys do. After all, we're after consistency here, right? 

Photoshop is probably the most used product among the digital artists who use Conjure. So when I'm faced with a 'how should this work' question, I usually include it in the list of other apps' behaviors I should study. 

In this case though, they suffer from a similar problem. There are several ways to set the color for any object or property. Even though I've been using it since it shipped with a crappy scanner in the late 80's, I still forget where to find things in its UI. So having travelled to this land, I have decided to leave it, for greener pastures...

Something a lot of people don't know about iWeb and me is that Conjure originally had a spinoff clone, called Landscape. Landscape was my plan for a web page creation tool. I actually named early prototypes 'iWebb", which I thought was a hilarious play on words. Until iWeb came out, featuring 90% of the ideas I thought were original, in iWebb. Oh well. But occasionally I think of adding something to Conjure, only to find it's already in iWeb (like line elevation angles), and it makes me wonder what the hell Apple thinks iWeb actually does. Seriously? Why would someone need to know the elevation of a line in a web page builder? Anyway, they usually have good ideas, and since their target audience is basically the same as Conjure's (for different reasons), I at least try to be consistent. 

Unfortunately in this case, iWeb is consistent with my *mistake*, and does not present an acceptable solution. See, they crammed everything into one central 'info' window. The biggest difference is that their window doesn't actually change based on the context, as Conjure's does. They expect you to click the tab to change it. Well that's a few steps back from where I am now. So, no thanks.

The solution, as I see it, is to have a centralized 'colors' window. And that's it. No other objects should mention colors at all. That way, the user always knows where to go to set the color. For anything. Color options that don't make sense for the current selection would be inactive. Simple as that. 

A single Colors window would move all of this color related stuff to one place. That would also help on the programming side, because it's one less set of controls I constantly have to remember to update. And while I'm at it, I can axe the text label color control (which no one notices anyway), and the redundant "Line Settings" text. 

Now, I'm not a fan of the standard MacOS color pickers. At some point, Conjure will likely have its own color picker for that reason. When I get around to that, having to do that for only one object sounds a lot better than setting it up to work in a dozen different areas. 

When the next beta of Conjure 4.5 goes out, it will have the unified color window in it. Please let me know what you think! And if you want to be a member of the beta team, send an email to me at conjurebunny@gmail.com, and let me know!


Saturday, April 30, 2011

The Mac App Store vs. MacUpdate: FIGHT!

A recurring theme on the MacUpdate site is "if you're on the Mac App Store, I won't buy your software."

And most developers are okay with that, because the recurring theme among developers is : "fuck you, MacUpdate, you had your chance."

I'm sorry if that's offensive to MacUpdate's users, but that's reality. The fact is, a single day of promotion on Apple's now defunct 'downloads' page would yield 20x the sales as the same day on MacUpdate. And it looks like Mac App Store developers are experiencing the same thing. Additionally, most of the complaints that developers had about MacUpdate went (and continue to go) unanswered.

Angry Conjure Bunny is Not Amused

Some history...
MacUpdate (and VersionTracker before it) were started years ago. Actually, I gave both companies free ads when they were starting up on my DevHQ.com site. (VersionTracker has since been absorbed by CNET's Download.com site and is largely ignored by Mac developers). Since Mac developers weren't able to get their software in stores ("who buys Mac software? No one"), we had to find more creative ways to get the word out to Mac users about our software. So by the time the PC world started to catch on, most Mac users were already used to buying Mac software online. Sites like MacUpdate helped make that a reality. Today, we have Apple's official Mac App Store, which combines services like MacUpdate and the tedious accounting side of things.

Since its inception, MacUpdate has been a tremendous help for a lot of developers, but it is very user-oriented. Developers who post there are often treated with great suspicion, and it's not uncommon to see a user really go off on an indie developer over a minor issue. Lately, MacUpdate has been ignoring developers' problems, and now its users are suffering for it.

As both a developer AND a user of both stores, I think I know why. So this is both an explanation of the problems they face, and an explanation of what both could do to help everyone. I still have high hopes for MacUpdate, but probably because I gravitate towards the underdog. That strategy doesn't usually work out for me, unfortunately.

Apple's Mac App Store Gooddish: 
Incredible exposure. Since they push this to every Mac user, developers are seeing the massive sales numbers they saw from leveraging the Downloads page on Apple's site (which was previously linked to from the Apple menu of every Mac). Also, Apple lets you report abusive criticisms comments, something MacUpdate seems to have done away with.

Apple's Mac App Store Baddish: 
Apple takes a 30% share of your profits, plus you don't get paid for almost (or over) a month. Plus, they don't let you distribute a 'demo' version, so the end user can't legitimately try an app before they buy it.

That's not exactly a bad thing though. It means the reviews for the app are from people who at least plunked money down for it. Shills for your competitors can't poison your well by leaving horrible reviews, as they often do on MacUpdate. Angry personal vendettas aren't taken out as easily if there's a price tag. Both have hit Conjure a number of times in the past, with non-paying customers angry that they couldn't find legitimate crack keys on the Internet, or they didn't like it when I refused to give them a free copy. I used to watch both MacUpdate and our YouTube channel for this, and I'd catch people doing this fairly often. They'd give Conjure a 1 star review and claim it destroyed everything on their computer. Or it would crash. Or it installed spyware. None of that was true. Also, on MacUpdate, my competitors would routinely post critical reviews, or link to their apps on my page. Not cool. Quite dickish, actually.

From talking to other developers, I don't have to worry about any of that with the Mac App Store. The price tag alone seems to dissuade users from doing this. And since the credit card you buy an app with is linked to your personal name, it's harder to fake an online persona. That's good for everyone. Unfortunately, they don't let you respond to criticism on the Mac App Store, without posting a review as well. It makes us look like we're just ignorant corporate pigs, hoping a gullible public will be suckered into buying our crap, while we ignore their cries for help. The reality is that most of us actually sit and watch reviews like they were the Royal Wedding (this is a contextual reference, and will make no sense a month from now).

MacUpdate gooddish: 
Anyone can sell there, via the Mac App Store or their own system. That's good for developers like me, who want to be paid *soon* for sales, not in 1-2 months. That's also good for end users, because I can offer demo versions. Also, I can respond to criticism there, though the layout for responses is somewhat odd. I hear they're working on that, though. Hey, at least I can respond.

MacUpdate baddish:
As I said, negative reviews really hurt sales. One angry asshole can sink a year's worth of work, by making stuff up. And the MacUpdate crew seems to particularly side with the *users* instead of the developers. In fact, they'll post updates to your apps without your consent, unless you notify them in advance not to do it. So if you updated the download link for the app late on Thursday night, in preparation for a launch on Friday morning, Friday morning you'll find your app announcement stuck deep down the list on yesterday's news. Also, they appear to have done away with the ability to report abuse, while Apple added that feature.

So here's my simple suggestions for both:
Apple: You would do well to let developers offer in-app unlocking, similar to how in-app purchases work on the iPhone app store. Then the ability to offer demo versions would be allowed.

Also, you need to create a way for the developer to provide responses to users, without having to post a review of their own (with stars). The current system makes us look like idiots. I know you don't want to host a 'forum' for every developer, but that's just part of what you're doing by letting people post they way they do now. Only that you're not letting the developers respond. It's a one-way forum. Not cool.

MacUpdate: You need to be more friendly towards developers. I'd say over 70% of the conversations I've had with your staff have been negative, or at least confrontational. That's not good. You need to put your foot down on obvious collusion, and let people report negative comments again. Additionally, you should let developers have a little more control over the announcements. You're not the only game in town anymore, so stop trying to boss developers around, and work with us.


Right now I'm weighing my options on the new version of Conjure. I might release a 4.3 version, based on the current codebase with a lot of the 4.5 features built in. In order to get into the App store, I need to shelf several of those features, since they violate the TOS agreement for Mac App Store sales. But with MacUpdate's less friendly atmosphere towards developers, plus the absolute difference in sales figures, they're pushing me towards a Mac App Store-only release.

I want to believe MacUpdate will step up to the challenge of the Mac App Store, and be a real competitor. Let me put this another way. See that 30 percent cut that the Mac App Store takes? I'd be paying that to you, if I could *justify* it. If your environment was more friendly to developers, and if you let us promote our software better.

MacUpdate, as it stands, even if your offering was absolutely free, it would still cost too much. Do you even know what you're doing? Have you ever even used a Macintosh computer before?

Oh, did that sound too harsh? That was an excerpt from a 'review' I received on your site, which sat there for two weeks, until I convinced the author to take it down. That was after several emails to your support staff. If you want to know why you're getting your ass kicked by the Mac App Store,  and why developers don't seem to care about you, maybe that kind of behavior has something to do with it.

Tuesday, April 26, 2011

Lies, Damned lies, and Weather predictions

I noticed last week that we were supposed to get rain *every day*. It never showed up. So yesterday, I started keeping screenshots of it.

Here's the Weather.com predictions for the last two days. I'm not saying they're just making stuff up, but I'm curious--how accurate do you need to be, to be considered 'good'?

(For the record, no rain here yet...)

Thursday, April 21, 2011

iPhone app that lies about where you've been

So there's this guy who wrote an app that scrubs your iPhone backups and looks for bits about where it's been. Then he made a website about it, and made a big deal out of how this is a security problem, and that Apple is secretly keeping tabs on you or something.

Of course, it's mostly bullshit. But that's how you make a name for yourself in the 'security' field. It's just like a 'real' magic show. You tell the audience what to think, you show off some parlor trick that makes it look like you were right, then lie to the audience about what they just saw.

As a general rule, any time someone comes out of the blue with a 'HOOJ SEKURITEE HOLEZ!!' or something like that, it's to get attention. It's usually not something serious.

But let's look at the claims. He says his app will retrieve detailed information about where you've been, thanks to data stored in the backups of your iPhone. Then he has some movies that 'prove' it.

Unfortunately, he's making a number of assumptions that aren't quite accurate about the state and location of the user's files. That might explain why his app doesn't work on *ANY MAC I OWN*.

That said, it has worked on a number of my friends' Macs, so at least that claim is valid sometimes. There are still a few hurdles that make this a less than serious problem.

A Fully Compromised System

First, it relies on the backups of your iPhone. Do you know what it takes to get to the backup files for your iPhone? Full, unhindered access to your personal files, on your Mac.

The files this app uses are in a section of the Mac's file system that is effectively hidden from every user on a Mac except the owner of the files themselves. That has to be the same user who backed up the iPhone. In other words, had this app worked on my system, it would only work if the user had fully compromised the security on my Mac to begin with.

Plaintext Backups

Also, as stated on his page, if you're using encrypted backups, this isn't an issue at all. He's just trawling the backed-up files and looking for data. If you're not worried about someone gaining full access to your emails, address book, passwords, etc., but you are somehow worried about people finding out where you've been *after* they have all that other info, you should know that you can encrypt your backup files. Every time you plug in your iPhone, it will (normally) open iTunes. There's an option there. It's a checkbox that says, "Encrypt your backups" or something equally hard to figure out. Click it. Problem solved in one step.

Apple Is Not Collecting Anything, You Are

He says "Why is Apple collecting this information?" as if Apple is collecting the information. A backup of every document on your iPhone is a *backup*, it's not magical fairy wishes. It contains copies of the data. Apple isn't collecting it, your computer is collecting it. That's what a backup is. If someone were to steal the backup of my personal files, well, I'd wish them luck getting some of those images out of their head. But whether or not they knew where my iPhone had been would be the least of my worries. I have a hard drive that sits next to my computer, most of the time. I have backups of all kinds of things on there, including emails. I'd be more afraid of that kind of info getting into enemy hands, than my physical location.

Your other apps have to work

Okay, they're backups of files. But why back up this particular info? Well, it turns out that other apps on your iPhone rely on the GPS data, too. For example, if you've used the Maps app to chart your location through the mountains, you can still use that info while you're on the mountain, out of GPS range. It will just show your last location on the mountain. Why? Because it has to use some location. iPhone apps don't stay in memory all the time, so if you didn't launch your Maps app recently, it wouldn't know what your last location was, unless the iPhone was storing it. See how that works?

I'm working with a friend on an app that uses GPS locations also. We're kinda relying on it being able to tell us where we were last time it knew, every time the app runs. We don't store this information, because we know the iPhone is going to give it to us on demand, and that it will at least try to be accurate. In order for this type of app to work, the iPhone absolutely has to store the data somewhere.

Never Take Photos

Besides, all iPhone photos are geo tagged by default. So if they can just get ahold of your photos, that's enough to tell a lot about where you were. And why go to this much trouble? Do you use Foursquare? Do you use Facebook? Those also track (and publicly display) where you've been.

But most annoying to me, as a 100% total Mac Fanboi, is the fact that his shitty app doesn't fracking work on any of my Macs. He's clearly unfamiliar with the awesome that is the Macintosh User Experience™. He's wasted several minutes of my time today with an app that doesn't work, and he's talkin' trash about my favorite platform.

It is interesting, at least to me, that I can get a series of locations I've been from the iPhone. But the list is not complete, or accurate, unfortunately. This is an interesting side effect of how Apple's iPhone collects GPS data, but it is by no means a serious security issue, or even a reliable source of information.