Tag Archives: Apple

Firefox 10 and Ghostery 2.7.1 woes? Try a new profile.

I’ve been having lots of Firefox lockups on my Mac the last several days and traced it down to the Ghostery 2.7.1 privacy add-on.   I kept running across sites trying to open new windows (legitimately) but when this would occur Firefox would hang.   I’d then have to force quit it to get it to stop running.   This was easily repeatable.  Disabling Ghostery solved the problem but that wasn’t the solution I was looking for.

I did some searching on the web with no luck.  I did however find people talking about having issues with other add-ons and resolving their problems by creating a new Firefox profile.  I did that, reinstalled Ghostery, and tested the various sites that were causing problems.   This time I didn’t have any issues.

Creating a profile is a bit challenging on the Mac as it requires launching Firefox from the command line using the Terminal application.   Here are the 3 steps required:

  1. Quit Firefox if it is running.
  2. Open up Terminal (located in /Applications/Utilities).
  3. Type the following at the command prompt: 
    /Applications/Firefox.app/Contents/MacOS/firefox-bin -p

This will start Firefox with a window that allows you to manage profiles.  Create a new one here and choose it to start Firefox.   Now you can go in and set up the new profile.

Just one thing to note:  the Choose User Profile window will pop up every time you start Firefox when you have multiple profiles.

Once you’ve set up the new profile you can delete the original one named “default” that gets created the first time you run Firefox.

Helpful link:
Managing Firefox Profiles on the Mac

What’s with Markdown?

Can someone explain to me the recent explosion in support of Markdown in Mac and iOS applications (such as the Day One journaling app for Mac and iOS)? Are that many people really clamoring for a text syntax to mark up text for transformation later into a rich text format? I’m serious here. I know the 5by5.tv podcast crowd seems to adore it but they’re power users. Are normal people really looking for a way to move text among platforms like Mac apps and blogs? I’ve experimented with it before but I just don’t understand the allure as it makes regular text harder to read and takes me out of getting words on the page into worrying about markup(down).

I guess it’s not a big deal to add support for it but it seems like an odd feature to me to tout as a major feature. Most people simply aren’t going to know or care. And no offense to Markdown but Textile syntax is better ;)

iPhone Tip: use AirPlay with apps that don’t “support” it.

I’ve discovered an interesting thing about some applications on iPhone that don’t seem to directly support AirPlay such as Spotify:  if you chose an AirPlay-capable destination (such as an Apple Airport Express or an Apple TV) in another application that does directly support it (such as the Music/iPod player app) then go back to the application that doesn’t, the audio will be streamed to the device you chose in the other application.  This works for lots of things, even games.

I’m not quite sure why this is required.  The application that doesn’t “support” AirPlay is clearly using the standard iOS audio features otherwise this wouldn’t be possible.  On the other hand the AirPlay control that would normally pop up isn’t available for use.  It seems this is the case for any app (again like Spotify) that is using custom graphics for the standard audio playback controls.

Mac OS X Lion, iOS 5, and iCloud – exciting times

I’ve got to say that a week on from the release of iOS 5 and iCloud I’m pretty damn excited.  The level of integration I’ve wanted from the first day of having an iPhone 3G is finally here thanks to iCloud.

I’m trying an all-Apple solution full-time for a bit to see how it all works but so far I am impressed.   Why?

  1. iOS 5 finally means iOS devices can be completely PC-free.When I got my iPad (original iPad, not iPad 2) I was impressed but it wasn’t the type of device that should need a PC to work.   Before I could use it I had to plug it into a PC (and by PC I mean Personal Computer….not a Windows machine).  To get content on it I was pretty much OK but if I wanted a backup of that content again a PC was a requirement.  This was  a device crying out to be completely disconnected, independent.  That day is finally here with iOS5.
     
    I can say the same thing about my iPhone.   Over-the-air OS updates, WiFi sync, and a PC-free backup solution are all things I’ve wanted for ages (I’m not even going to get into the other improvements in the software like the new notification system).  Now they’re here with iOS 5.
     
  2. Pain-free syncing with Mac OS.With iCloud syncing mail, contacts, and calendars is now pain-free.   In the past I’ve used Google products for these things and for the most part they’ve worked well.  GMail is already web-based so that is nice but because it doesn’t support the concept of folders, replacing that with labels, using it via Apple Mail (whether iOS or Mac-based) has been kind of clunky at best.  That isn’t GMails fault.  I love the idea of using labels and am not a huge fan of folders but GMail’s implementation of IMAP, required to use if I want to have access via Mail, results in messages being duplicated (long story short: labels get their own folders.  If a message has multiple labels it appears in multiple folders).
     
    Calendar syncing was definitely the easiest of the bunch to implement.   Google Calendar supports the CalDAV standard as do iCal on the Mac and the Calendar application in iOS 5.   With a third-party application like BusyCal on the Mac it’s even better.   However now calendar sync is totally integrated with iCloud on Lion and iOS 5.  While I don’t gain much, and arguably  lose a bit in the calendar interface on iCloud vs. Google Calendar, I’m sticking with iCloud for the moment because of that tight integration.
     
    Contacts.  Ah contacts.  That has always been a mess with Google.   While syncing with Google contacts has been supported by the Address Book application on the Mac it’s never been intuitive.  Syncing with iOS has also been supported via iTunes but again it has never been intuitive.   Works yes.  Works well, no.   Those headaches are gone with contact syncing in iCloud.

With all that said iCloud isn’t perfect.  The web-based calendar application can’t subscribe to external calendars.  Sharing calendars between iCloud users is possible as is sharing calendars with the world.  It also unfortunately shares the ridiculous faux-leather user interface with iCal in Mac OS X.

And while iCloud is fantastic for storing backup data from my iOS devices, and apps that have specific support for it, I can’t just access it from finder like I could iDisk, or Dropbox, or any of the other cloud storage systems out there.  Maybe Apple has a plan for that in the future but paying for storage is a bit less useful to me without that option.

But again I’m pretty excited about what is happening on the Mac and iOS right now.   Apple continues to make things “just work” even if it isn’t with all of the features I might want.  I can live with that.

iCal upgrade for iCloud and BusyCal

I had a very pleasantly surprising experience today when I installed the Mac OS 10.7.2 upgrade for iCloud functionality.   I had iCal subscribed to a selection of my Google calendars via CalDAV.   I also have been trying the trial version of BusyCal which I have set to subscribe to the same set of calendars that are synced to iCal via CalDAV.  One thing cool about BusyCal though is that those calendars are exposed to the Mac as being “native” iCal calendars.   When I started the iCloud setup for iCal one of the things that happened was that it copied the Google calendars and data over to iCloud.   This was fantastic since I’m planning on replacing Google Calendar with iCloud (at least give it a trial).  This made the transition completely painless.

Now I’m just hoping that iCloud is a bit better on launch than MobileMe was :)

Danny Sullivan has a memory problem

From Danny Sullivan’s rebuttal to Gruber/Hall/Siegler:

Gruber tells us that the Android UI was copied from Apple. Hall says that the idea of a touchscreen smartphone was copied by the iPhone.

Newsflash. As a Windows Mobile user from 2004, I had a touchscreen smartphone that ran apps long before that idea ever punched itself out of Apple.

Really?  Windows Mobile had a multitouch interface?  Last time I checked touchscreen devices of that era used a stylus.  I had a Palm Pilot 1000.  That was also a touchscreen but I wouldn’t pretend that somehow Apple copied that device to create the iPhone.  It also had a stylus.    At my current employer we use ruggedized Windows Mobile-based scanner guns….they still use a stylus and don’t know a thing about multitouch.

I think Sullivan needs to go back a bit further in time, perhaps, 11 years before his Windows Mobile phone, and take a look at it’s great-grandparent.  Oh wait.  Another Apple device.  But those guys don’t do anything innovative do they?

 

 

Ben Duhac – “Why My Mom Bought an Android, Returned It, and Got an iPhone”

So Duhac, a self-admitted Android fanboy, says:

The other day I bought the newest, fanciest flagship Android phone for my mother and it was an unmitigated disaster. She has an iPhone now, which she loves, and when I read that 30-40 percent of Android devices are being returned, I honestly wasn’t surprised.

Funny enough article I suppose given that this is consistently what I hear (and have seen) about Android devices but he lost me here:

She’s pretty tech savvy –uses Gmail, has a Tumblr, does most of her emailing on an iPad– so after some discussion we decided that Android was the way to go.

So she’s already got an iPad that she is used to and there is an iOS phone available that’s relatively well-known and “we” decided Android was the way to go.  I suspect Ben decided Android was the way to go and conned his Mom into it.

Good thing they both came to their senses.

iPhones, location data, tinfoil hats, Oh My!

Update 2: Definite non-story here.

Update: Yeah I figured as much.

Wow.  I’m pretty shocked over the latest “privacy invasion” story involving Apple but it’s not shock about the so-called invasion of privacy but of the utter lack of reporting going on here.

Story, after story, after story is sharing the sordid details.  Apple keeps a file with location data on the phone!  This has been happening since June of last year!  What are they doing with the data?  Cheating men may be in trouble!

Article after article has photos proving the deceit thanks to our intrepid researchers who uncovered the deception!  For better effect time-lapse movies are even provided!  Woe to the person who loses their phone!  The criminal may jailbreak the phone and gain access to records that indicate the person is going back and forth to work!

Everyone seems to be upset that the file is so easily accessible.   But the truth is it isn’t even if its stored unencrypted on the file system.  At a bare minimum it would require:

  • stealing the phone and jailbreaking it
  • stealing the person’s Mac

So two things about those, well, two things.  The first assumes that the person stealing the iPhone would actually care about the data.  In my opinion that’s pretty unlikely.  A person snatching your iPhone is probably a lot more interested in selling it for cash instead of seeing the drudgery of your daily life.  The second assumes that the person doesn’t have their backup file encrypted.

The most annoying thing about any of these stories, including the original where the news was “broken” (no pun intended), is that nobody is mentioning whether or not this is happening with Location Services turned off.  Most normal people aren’t going to do that.  They want their photos tagged with GPS information.  They want to share their location on Facebook, Foursquare, whatever.   Given how many people like to reveal their intimate details on Facebook and note where they’ve been on Foursquare I don’t really understand the outrage here.

But dude!  It’s privacy man!  P-R-I-V-A-C-Y!  This is all being done without my knowledge!  Again, when someone proves this is still happening with location services turned *off* the story *might* have some more weight to it.  Even then there are many reasons why the phone might keep a database of this sort.  The data appears to be triangulated cell-tower information, not GPS coordinates.  The guys who found this file even say:

Our best guess is that the location is determined by cell-tower triangulation, and the timing of the recording is erratic, with a widely varying frequency of updates that may be triggered by traveling between cells or activity on the phone itself.

Every day I go to work AT&T is tracking my phone just to maintain a signal.  My iPass transponder notes where and when I go through toll booths on my way to and from work.  Cameras at intersections and at the toll booths take photos of me and my license plate. When I enter the building during the day the date and time is noted on my employer’s computer system.   If I buy something during the day while out and about the transaction is recorded which notes what time I made the purchase, how much it was, and what I bought.  The store probably records this information as well.   My former employer may have camera’s mounted in the entryway of the store monitoring foot traffic.

And people are worried about triangulated cell tower data in a file on the iPhone?  Get a grip folks. This stuff has already been explained.

iOS Dev Diaries #1 – Application Launching

Introduction

I’ve started working on an application for the iPhone that I’ve been wanting to work on for ages. Actually to be factually correct I’ve restarted working on that application.  I say that because my bouts of working on this thing are so far between that I always forget some of the basics I learned the last time around.  This series of postings will be an attempt to chronicle those things to keep a record for myself and for anyone else who might be starting to do iPhone development.  It is also a good exercise in being better able to retain what I’m learning by writing it down here.

Ever wonder how the app knows that MainWindow.xib is to be loaded at launch?  I did :)   I always wondered how exactly the system knew to load MainWindow.xib at launch.  Was it some convention?  Is it stored somewhere? Thing is its documented out there in several places.  My problem is I haven’t spent enough time, until today, looking at the documentation.

Before I go any further I assume you’re using the project templates provided by Xcode to start your project.  I also assume, since you’re reading this, that you are starting with an Xcode template :)   All that being said here’s how it works.

How It Works

When you created your project via one of the templates Xcode created some files for you (the location of which depends on the version of Xcode you are using.  Xcode 4 structures things a bit different than Xcode 3).  The most important ones to this discussion are:

  • MainWindow.xib
  • main.m
  • <project name>-Info.plist

Lets talk about them one at a time.

MainWindow.xib

This is an InterfaceBuilder nib file.  It, at a minimum, contains the main (and most likely only) Window for your application.  If you inspect the nib and take a look at the properties for File’s Owner you’ll see that UIApplication is the owner of this particular nib.  This makes sense since this is the main window for your whole application.

main.m

This file is the entry point of your application and provides the initial bootstrapping of your application when it is launched by a user.  Inside of main.m is a function call UIApplicationMain.   That function is where MainWindow.xib is ultimately loaded.

<project name>-Info.plist

This file contains a bunch of information used to configure your application at launch.  Here is where we finally see how the application knows which nib to load when the application is launched.   Inside of this plist file there is a section of code:

NSMainNibFile

MainWindow

There are several places where this value can be set.  The most obvious choice is editing the plist file itself and modifying that key.  In Xcode 4 it can also be set in the project editor in two different places.

Targets Summary Page

With the project navigator opened in the left-hand pane click on the project itself which brings up the project editor.  In the project editor select the application name listed under Targets.  On the Summary page the entry for “Main Interface” will have “MainWindow” set.  If you have more than one nib in the project the others will appear here as well.  Choosing something else here will set the value in the plist for you.

Targets Info Page

The value can also be changed on the Info page of the Targets editor.  The values for the entire plist show up under “Custom iOS Target Properties”.  Editing the value in “Main nib file base name” will also change the value in the plist.

Other Files

It is important to point out the .h and .m files that have been created by Xcode for your application delegate.  Xcode automatically wires up this application delegate for you inside of MainWindow.xib.  Once again clicking on File’s Owner look at the Connections inspector.  Under “Outlets”  there is a delegate wired there that corresponds to the application delegate created by the template.

Closing Thoughts

One thing about using templates to create application skeletons is that sometimes it’s hard to understand just how things work.  It allows a developer new to iOS programming to get up and running quickly but at the expense of really understanding just how things are wired together under the hood.   I hope this posting helps a bit in understanding just what is happening with all of the pieces that Xcode is creating by default.

This is how you get customers Toshiba?

As linked to by John Gruber over at Daring Fireball  Toshiba has created an all-Flash website to showcase a new Android-based tablet they are creating.   If someone vists on an iPad they get the following:

Such a shame. Add this to the list of interesting places on the Internet you can’t see on your device. Of course, if you had a Toshiba Tablet, you would enjoy the entire Internet. Yep, Flash sites too.

Pretty snotty if you ask me.  It is also something that would make me cross Toshiba off my list of potential options if I were looking for another tablet.  I own an iPad so Flash-based sites are off limits to me.  I’m good with that because I find it inexcusable to be creating a fully Flash-based site today.

The real kicker in all this though is these guys actually provide a mobile site for the same thing in pure HTML.  Instead of redirecting iOS users to that site they get smarmy.  Nice way to get customers you douchebags.