One of the things that bug the crap out of me is when you click an OS X notification of a tweet in notification center, it opens up twitter.com in Safari. I usually use the Twitter.app desktop client, and it is disorienting and inconvenient to get notified of a tweet, and then be prompted authenticate to the twitter website. Here is the flow of the problem:
I create a sweet tweet in Twitter.app:
And I hit send. I then start doing other things, like Xcode or Mail. Then someone responds:
I think that is a cool response, so I click the notification. BOOM! I get this in Safari:
WHAT? WHO? I expected to it to go to Twitter.app since that is where I started the sandwich conversation.
It was low level irritation, and then I saw this on Daringfirball:
Now, if only they would let Apple open this app instead of the twitter.com website when you get notifications through OS X’s built-in Twitter support.
I would love that! For me, it would be good enough if it just opened the twitter app, since it would pretty much be near where I want. So I wondered if Twitter.app had a URL handler, and entering in twitter:// in Safari opened up Twitter.app.
And then I created a Safari Extension and put it on github:
and now when safari loads up a https://twitter.com URL, the page finishes loading, and the Twitter.app opens (or comes to the front). Same for notification center. Not perfect, but better.
Download it here:
WWDC2013 sold out in 90 seconds. Here is a linear graph showing how long that is relative to the last 5 years. From data from @akosma
Boot Runner 1.3
Boot Runner 1.3 has a feature that we are very excited about: The ability to schedule a startup volume selection based on a schedule. Our customers have been asking for a way to keep their Windows machines up to date, and it has been problematic in the past since it requires the dual boot machines to be booted into Windows during specific times. Windows updates may be managed by a different group than the group that manages a lab, and the updates and patches happen automatically if the dual boot mac is in Windows at the correct time. Assuring that the computer is in the correct OS has been a challenge, and we addressed with version 1.3.
Through both policy and in System Preferences, a lab manager can select a time period where a specific volume is automatically selected and will continue to be selected until the time period has elapsed. So if your Windows updates happen between 2 am and 5 am, you would set Boot Runner to select the Windows volume during those times and the Mac would reboot into Windows right at 2 am. If the update process reboots the machine, it would go back to Boot Runner, and if it was still between 2 am and 5 am, it would reboot back to Windows for any additional updates. When 5 am is reached, a final reboot is done in Windows and the Boot Runner screen is displayed and ready for students to log in.
Another feature we added was a time delay. Prior to 1.3, if you had a volume automatically selected, Boot Runner would immediately select it. There was no time to select a different volume. In 1.3, we introduce a 60 second countdown that gives the user an opportunity to select a different volume. This countdown is configurable via a preference key, and can be set to any number of seconds that a lab manager wants.
I made a quick video so show this new features, and we updated the documentation to include the new keys.
As always, let us know of any feedback.
A quick video to show setting up a Geohopper notification when exiting a location. Tim shows how he sets up a trigger so his wife knows when he leaves the office.
With the release of 10.8.3, Apple has provided support for Boot Camp on 3 TB or larger drives. This is important because 3 TB drives are now becoming more common. They are still a build-to-order option on the iMac, and until the 10.8.3 update, it was not possible to use Boot Camp assistant on 3 TB (or larger) drives. While it was still possible to set up the partitions so that you could install Windows and still use all of the available space, you still either had to pave and rebuild the partitions or be happy with two Mac volumes and a Boot Camp volume. The 10.8.3 update provides support for Boot Camp on 3 TB or larger drives by combining the 2 Mac partitions into a single Mac volume, and making sure the Windows partition is within the first 2.2 TB (allowing it to boot using the legacy MBR boot dance).
In Apple’s own words (from the man page on diskutil):
CoreStorage maintains a world of virtual disks, somewhat like RAID, in which one can easily add or remove imported backing store disks, as well as exported usable volumes, to or from a pool (or several pools).
Core Storage is what provides the functionality behind File Vault 2 (full volume encryption) and is what is used to provide the 3 TB support for Boot Camp. The important piece to understand about Core Storage for Boot Camp support is even if you see a single volume on your desktop, it is possible a single Mac volume might be made up of multiple physical partitions on the disk. Core Storage has its own terminology as well. The volume you see on your desktop is called a Logical Volume, and can be made up of multiple Logical Volume Groups, and those groups are made up of physical partitions. For Boot Camp support, Core Storage is relatively simple. The Mac volume you will see on your desktop is made up of a single Logical Volume, and that Logical Volume has a single Logical Volume Group, and that Logical Volume Group has 2 physical partitions.
Boot Camp Booting on Intel Macs
Booting Windows on Intel Macs uses the legacy MBR type booting (versus the newer EFI based booting). This provides the ability to support both Windows 8 and earlier versions of Windows. However, in order for Windows to boot using this legacy method, the Windows partition must be completely within the first 2.2 TB’s of the physical disk. This wasn’t an issue when 2.2 TB was considered crazy huge. With the new 3 TB and larger disks, this causes booting issues for booting Windows on an Intel Mac. The other limitation of legacy booting on Intel Macs is that the Windows partition must be the last used partition of the first four partitions on a disk. The partition table on Intel Macs is the GUID partition table (GPT) and it requires that the first partition be a small EFI partition. OS X also installs a recovery partition, which is normally partition three. OS X and all user data are on partition three. So that works out great, as we put the Windows partition on partition four, and it can boot since it is the last of the first 4 partitions. But then the other requirement hits us: the Windows partition must be within the first 2.2 TB. So we now what seems to be an impossible task: put Windows on the last of the first 4 partitions, but keep it within 2.2 TB on a 3 TB drive, and use all the available space and keep the Mac data as a single volume on the desktop.
Core Storage to the rescue!
One of the solutions to this issue is to create five partitions:
1: EFI Partition
2: Mac Partition #1
3: Recovery Partition
4: Windows Partition
5: Mac Partition #2
As long as Windows is within the first 2.2 TB, Windows will boot fine. Mac Partition #1 and Mac Partition #2 will boot as well, as long as they have OS X on them. However, people would rather have a single Mac partition rather than 2 separate partitions. You can use Core Storage to combine the 2 Mac partitions, but prior to 10.8.3, you had to backup all the data, create the Core Storage Volume and then restore all the data. With 10.8.3, OS X is now able to create Core Storage volumes on a live OS, as well as add create Core Storage Groups and add physical volumes to them. So ultimately, that is what happens with the new Boot Camp Assistant in 10.8.3.
Boot Camp on a stock 3 TB drive
If you install a 3 TB drive yourself and it did not come with your Mac, it won’t have any Core Storage Volumes (in fact, it probably won’t even be GPT). If you use the OS X installer and create a partition using Disk Utility, you’ll have a GPT formatted disk with a single Mac partition that will look like this:
1: EFI Partition
2: Mac Partition
3: Recovery Partition
The single Mac partition will not be a Core Storage volume, and because of this, Boot Camp Assistant on 10.8.3 will not see it. You can dynamically convert it to use Core Storage, and then Boot Camp Assistant will see it fine.
Converting a GPT partition to a Core Storage Volume
To convert a GPT partition to be a Core Storage Volume, use command line utility “diskutil”:
diskutil cs convert /
This will add the physical partition to new Core Storage Group, and then add that group to a Core Storage Volume, and mount the volume. The volume you see mounted on the desktop will look the same, but it is now part of Core Storage. Opening Boot Camp Assistant, you’ll see that it now recognizes it and can create a Boot Camp partition:
After Boot Camp Assistant runs, there will be a single Core Storage Volume made up of one Core Storage Groups, and that Core Storage group has 2 physical volumes. The actual partition table is exactly like we had before when working around the issue with two Mac partitions:
1: EFI Partition
2: Mac Partition #1
3: Recovery Partition
4: Windows Partition
5: Mac Partition #
But now with Core Storage, the two Mac volumes are combined together:
bash-3.2# diskutil cs list CoreStorage logical volume groups (1 found) | +-- Logical Volume Group 4181C0E8-648A-4D75-84B9-B1B498C1A3F7 ========================================================= Name: Mac3T Status: Online Size: 1499598979072 B (1.5 TB) Free Space: 0 B (0 B) | +-< Physical Volume F7E14482-4B67-4E13-AA4F-A9111E1D7362 | ---------------------------------------------------- | Index: 0 | Disk: disk0s2 | Status: Online | Size: 698162438144 B (698.2 GB) | +-< Physical Volume 8C48B830-57B6-4D6D-9737-0E05309C0C20 | ---------------------------------------------------- | Index: 1 | Disk: disk0s5 | Status: Online | Size: 801436540928 B (801.4 GB) | +-> Logical Volume Family 5948B358-2B67-40C6-9FB7-9F523D6D9AFA ---------------------------------------------------------- Encryption Status: Unlocked Encryption Type: None Conversion Status: NoConversion Conversion Direction: -none- Has Encrypted Extents: No Fully Secure: No Passphrase Required: No | +-> Logical Volume 1B076CF7-D7DD-4429-8B6F-6DC6AF0AB5B7 --------------------------------------------------- Disk: disk1 Status: Online Size (Total): 1498994987008 B (1.5 TB) Size (Converted): -none- Revertible: No LV Name: Mac3T Volume Name: Mac3T Content Hint: Apple_HFS bash-3.2# diskutil list /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *3.0 TB disk0 1: EFI 209.7 MB disk0s1 2: Apple_CoreStorage 698.2 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 4: Microsoft Basic Data BOOTCAMP 1.5 TB disk0s4 5: Apple_CoreStorage PV2 801.4 GB disk0s5 6: Apple_Boot Boot OS X 134.2 MB disk0s6
Note a couple of things:
- The size of slice 2 and the size of slice 5 (the two Core Storage) add up to 1.5 TB, which is the size of the Mac volume.
- The BOOTCAMP partition is 1.5 TB and is not a core storage type.
- The BOOTCAMP partition falls completely within the first 2.2 TB of the partition table.
You can now go forth and install Windows or restore a Winclone image.
In order to support booting Windows on OS X with drives larger than 2.2 TB, Apple had to support EFI booting, allowing the Windows partition to boot from any partition of the first 4, or split up the Mac volumes and then combine them with Core Storage. By choosing the option of splitting up the Mac volumes, it allowed them to support most all of the versions of Windows 7 and Windows 8. You are still limited to 2.2 TB for the Windows volume, but that is still a tremendous amount of space.
I shot a quick screencast showing the process of converting the 3 TB drive to Core Storage and probing the partition table.
Using geohopper to notify folks on my way into Chicago.
The OS X 10.8.3 update just hit, and had this gem:
Boot Camp support for Macs with a 3TB hard drive
We’ll be digging into it bit more, but it appears that the support is not due to EFI support for booting Windows, but rather some fancy use of core storage in OS X. The Windows partition still exists below the 2.2 TB boundary, and core storage combines the partition before and after the Windows partition to be a single volume. Very similar approach to the one outline on the twocanoes.com site, but has the additional benefit of being able to merge the partitions without rebooting (though we haven’t confirmed this yet).
Here is the support doc that lists the feature:
Geohopper RSS Feed Screen Saver
As Tim puts the finishing touches on Geohopper, we’ve been testing various ways that Geohopper can talk to other well-established services on the internet. One that I’ve found surprisingly useful, despite the potentially low “wow” factor is the RSS feed screen saver. RSS feeds are nothing new and are the basis for many of the news aggregators that most of us read daily without even knowing about how the aggregating is done.
RSS stands for Rich Site Summary, a standard XML format that allows the syndication of text, video, photos, (content, in other words) across multiple sites. In the pre-Internet era, syndication of news and entertainment was the way content was distributed from national production companies to local affiliate stations around the country. RSS format is now an accepted standard and the primary way many people now receive their daily news. A multitude of RSS reader services and dedicated apps are available for us to cobble together a virtual newspaper tailor-made just for us.
But you know all that. What does this have to do with Geohopper? It means that events sent out by friends and family to my Geohopper app can arrive in the form of an RSS feed, so rather than check my iPhone for notification events, my Mac’s RSS screen saver keeps me current on events that people are sharing with me.
If all goes well, Geohopper will be out in the world (via the App Store) very soon. Check geohopper.com for the latest updates or drop us a line at email@example.com.
Oh my. When I enter and exit a location with geohopper, my Internet bunny does this. Now I just need add a feature in the app for the karotz API keys and tag support.
Start up Geohopper and drop a pin
Set it up to self notify
Get the RSS feed URL
Go to ifttt.com and set up a recipe.
Trigger on RSS Feeds.
Paste in the RSS feed from Geohopper:
Have it call your phone:
Say something snappy:
Create the Recipe:
Do a test on the location in Geohopper:
Then do a test of the IFTTT recipe:
Check out the result!
Whenever you enter or exit, someone will get a phone call!