Just saw this writeup about Yosemite's handoff feature. What disappoints me (though doesn't hugely surprise me) is that my iPad and iMac are both too old to support those features. So I won't be able to use them. Very annoying.
I guess I'll be able to use them with my phone, just by upgrading the mac. Bleh.
Showing posts with label osx. Show all posts
Showing posts with label osx. Show all posts
20140618
20140602
A few thoughts on WWDC Keynote
I might well post a bit more about this after seeing some other people's reactions, but just wanted to post a few thoughts on Apple's announcements at today's WWDC Keynote.
First, kudos to Apple for streaming it (and I liked the split screen-ish way they showed it too); it was nice not to need to rely on live blogs again. Not to slight the people doing that, as I'm sure it's hard work, but unfiltered is almost always better.
Second, a friend noted, about forty minutes in, that the Apple store was still up. I wish I'd thought to check it; that made it clear that hardware announcements weren't coming.
The big parts of the announcements were not terribly unexpected. OSX, as predicted by Gruber, will be called Yosemite. The UI got a fair number of tweaks, including new typography and a lot more use of translucency to give depth clues. Some of that I think I won't like (especially the scrolling up under the title bar; I don't like it when that happens in iOS, as is), but much of it was hard to make out in the video.
The icons changed a bit, losing a bit of their shading. I don't have strong feelings about this, either. It's pretty much the expected iOS-ing of them.
In the details, there was some new stuff, though. Safari and spotlight have become pretty tightly integrated, and I think that will work better. Spotlight's input bar now floats in front of the screen, in the center, towards the top. I think that's going to help, as well. I'm actually just starting to use spotlight regularly, and I think that'll help me use it a bit more.
Mail has some added features; in-line annotations of attachments. I'm a tiny bit skeptical of that, but will try to keep an open mind. Most likely, it's something I'll rarely, if ever, use. They also added mail-drop, to enable attachments of up to 5GB. That's something I've wanted from time to time, and I expect to use it. They also added some swipe gestures to viewing mail, to make it easier to mark or delete messages (my one concern here is how easy it is to delete instead of mark).
Notifications got a number of enhancements, from allowing immediate responses (ie: without quitting whatever application you were in when received), to customizable views and UI elements from running applications. I think this will be really neat, although I worry about it being difficult to set up.
But the biggest thing is a feature called Continuity. And that's really a series of features, and I think I'll wait until talking about iOS8 before addressing them. But I'm very excited about them.
iOS8 doesn't have as much in the way of UI changes, but there's a lot of new stuff going on.
Notifications got a bit of an overhaul, and the ability to respond immediately to messages is a much bigger deal here than in OSX.
They added a bunch of customization to the keyboard. The biggest part of that is auto-completion of words, as you're typing. Adding to it is that it is context-aware, in terms of is this email going to a friend or a business partner. The devil's in the details, but that's got a lot of potential.
Siri is now accessible at any time (ie: without a button push), just by saying "Hey Siri". I don't have any Siri-capable devices, so I have no experience with it, but that sounds awfully cool.
The double-push of the home button to get the task switcher will now show most frequent contacts as well as running apps. That should make it even easier to contact people. I'm starting to worry that I might start forgetting phone numbers, as I will need them less and less.
The rumored home automation (HomeKit) and health data storage (HealthKit) frameworks are, indeed, there. These both have the potential to be game-changers, but we'll have to see about implementation and take-up by third parties. Consider me optimistic about both of these, although Healthkit seems like a mobile HIPAA violation. I'm sure lawyers were deeply involved in that part.
iPads get a bird's-eye view of open tabs in Safari similar (but enhanced) to what iPhones have now. Not a bit deal, but nice to have.
Photos are probably the biggest enhancement. For people using an iPhone as their only camera, new changes are going to be a godsend. All photos will be stored in iCloud, and will be put there as soon as they're taken. Increased iCloud storage will be available at pretty good prices, although it won't be all that great for people using pro-level gear (most notably, storage above 1TB will not be available at all).
But the instant storage, and concommitant inter-device distribution will be fantastic. My wife is totally the target audience for this; she'll love it.
There will be some enhanced editing within the photos app, and that will work directly on the cloud versions. Nice.
And there's some enhanced interprocess communication. That is to say, you can break the sandbox by borrowing part of another app's sandbox. Think of it like a plug-in architecture for all apps, as even UI elements can be part of the plug-in. I'm really looking forward to this for photo plug-ins in OSX (which will come, I assume; it wasn't directly mentioned).
iOS' OpenGL layer also got a big improvement (order of magnitude is claimed) with a new API called Metal. The idea is to allow much lower-level (or at least faster) access to OpenGL functions which should enable pretty amazing 3D effects on an iPad. The demos they had for this (Zen Garden, especially) were pretty darned cool; I look forward to seeing them live.
All of which brings us around to Continuity. There are several pieces to that, and they're all pretty good.
The first is pretty simple. SMS messages received on your phone will be echoed via iMessage to your other computers/devices. Simple, but profound. Love it.
Second, proximity will be enough to make computer and phone/ipad aware of each other, and will enable some neat features. For instance, you'll be able to start an email or iMessage on one device, and finish/send on another. Rock on! I really want to see this when third parties take advantage of it.
Third, if the phone is on the same network as your mac, you can use the mac as a speakerphone for the phone. I don't make nearly as many phone calls as I used to do, but this is pretty sweet.
Fourth, you'll be able to Airdrop files between OSX and iOS. This seems a little wonky to me, in terms of it requiring something resembling file system access in iOS, but I'll bet that it'll be extremely handy. I don't think I'll make a lot of use of this, but I'm fairly sure I'll do some.
So Continuity is basically a first pass at device-independent use of data. This will be big.
Which leaves the last element. Siracusa's been talking for quite a while about "Copeland 2010". The question was, what comes after Objective-C.
Well, Apple's been hiding a lot of cards; they have an answer.
It's called Swift, and it removes much of the C-isms of Objective C. It adds lots of things; the ones that caught my eye were generics (parameterized types), closures, type inference, garbage collection, and multiple return values. What I think is interesting is that it will allow (encourage?) a functional style of programming. I didn't notice if tail call optimization was in there.
As one with only the barest of clues of functional programming, I'm looking forward to learning it.
They're also claiming significant speed enhancements over Objective-C (though it was unclear, to me, where those improvements were coming from). It sounded like something close to 50% faster.
Oh, I almost forgot. They claim several different kinds of errors (buffer overflow, pointer dereferencing, goto (?)) become things of the past. That's impressive, if it works as advertised.
Anyway, I wasn't able to watch all of this part of the presentation (real life was getting in the way), but I'm excited about it. I want to learn a whole lot more.
Update: I knew I'd forget some stuff. On iOS, there's now an API for third-party apps to use TouchID. Not sure what to make of it, but it's interesting.
First, kudos to Apple for streaming it (and I liked the split screen-ish way they showed it too); it was nice not to need to rely on live blogs again. Not to slight the people doing that, as I'm sure it's hard work, but unfiltered is almost always better.
Second, a friend noted, about forty minutes in, that the Apple store was still up. I wish I'd thought to check it; that made it clear that hardware announcements weren't coming.
The big parts of the announcements were not terribly unexpected. OSX, as predicted by Gruber, will be called Yosemite. The UI got a fair number of tweaks, including new typography and a lot more use of translucency to give depth clues. Some of that I think I won't like (especially the scrolling up under the title bar; I don't like it when that happens in iOS, as is), but much of it was hard to make out in the video.
The icons changed a bit, losing a bit of their shading. I don't have strong feelings about this, either. It's pretty much the expected iOS-ing of them.
In the details, there was some new stuff, though. Safari and spotlight have become pretty tightly integrated, and I think that will work better. Spotlight's input bar now floats in front of the screen, in the center, towards the top. I think that's going to help, as well. I'm actually just starting to use spotlight regularly, and I think that'll help me use it a bit more.
Mail has some added features; in-line annotations of attachments. I'm a tiny bit skeptical of that, but will try to keep an open mind. Most likely, it's something I'll rarely, if ever, use. They also added mail-drop, to enable attachments of up to 5GB. That's something I've wanted from time to time, and I expect to use it. They also added some swipe gestures to viewing mail, to make it easier to mark or delete messages (my one concern here is how easy it is to delete instead of mark).
Notifications got a number of enhancements, from allowing immediate responses (ie: without quitting whatever application you were in when received), to customizable views and UI elements from running applications. I think this will be really neat, although I worry about it being difficult to set up.
But the biggest thing is a feature called Continuity. And that's really a series of features, and I think I'll wait until talking about iOS8 before addressing them. But I'm very excited about them.
iOS8 doesn't have as much in the way of UI changes, but there's a lot of new stuff going on.
Notifications got a bit of an overhaul, and the ability to respond immediately to messages is a much bigger deal here than in OSX.
They added a bunch of customization to the keyboard. The biggest part of that is auto-completion of words, as you're typing. Adding to it is that it is context-aware, in terms of is this email going to a friend or a business partner. The devil's in the details, but that's got a lot of potential.
Siri is now accessible at any time (ie: without a button push), just by saying "Hey Siri". I don't have any Siri-capable devices, so I have no experience with it, but that sounds awfully cool.
The double-push of the home button to get the task switcher will now show most frequent contacts as well as running apps. That should make it even easier to contact people. I'm starting to worry that I might start forgetting phone numbers, as I will need them less and less.
The rumored home automation (HomeKit) and health data storage (HealthKit) frameworks are, indeed, there. These both have the potential to be game-changers, but we'll have to see about implementation and take-up by third parties. Consider me optimistic about both of these, although Healthkit seems like a mobile HIPAA violation. I'm sure lawyers were deeply involved in that part.
iPads get a bird's-eye view of open tabs in Safari similar (but enhanced) to what iPhones have now. Not a bit deal, but nice to have.
Photos are probably the biggest enhancement. For people using an iPhone as their only camera, new changes are going to be a godsend. All photos will be stored in iCloud, and will be put there as soon as they're taken. Increased iCloud storage will be available at pretty good prices, although it won't be all that great for people using pro-level gear (most notably, storage above 1TB will not be available at all).
But the instant storage, and concommitant inter-device distribution will be fantastic. My wife is totally the target audience for this; she'll love it.
There will be some enhanced editing within the photos app, and that will work directly on the cloud versions. Nice.
And there's some enhanced interprocess communication. That is to say, you can break the sandbox by borrowing part of another app's sandbox. Think of it like a plug-in architecture for all apps, as even UI elements can be part of the plug-in. I'm really looking forward to this for photo plug-ins in OSX (which will come, I assume; it wasn't directly mentioned).
iOS' OpenGL layer also got a big improvement (order of magnitude is claimed) with a new API called Metal. The idea is to allow much lower-level (or at least faster) access to OpenGL functions which should enable pretty amazing 3D effects on an iPad. The demos they had for this (Zen Garden, especially) were pretty darned cool; I look forward to seeing them live.
All of which brings us around to Continuity. There are several pieces to that, and they're all pretty good.
The first is pretty simple. SMS messages received on your phone will be echoed via iMessage to your other computers/devices. Simple, but profound. Love it.
Second, proximity will be enough to make computer and phone/ipad aware of each other, and will enable some neat features. For instance, you'll be able to start an email or iMessage on one device, and finish/send on another. Rock on! I really want to see this when third parties take advantage of it.
Third, if the phone is on the same network as your mac, you can use the mac as a speakerphone for the phone. I don't make nearly as many phone calls as I used to do, but this is pretty sweet.
Fourth, you'll be able to Airdrop files between OSX and iOS. This seems a little wonky to me, in terms of it requiring something resembling file system access in iOS, but I'll bet that it'll be extremely handy. I don't think I'll make a lot of use of this, but I'm fairly sure I'll do some.
So Continuity is basically a first pass at device-independent use of data. This will be big.
Which leaves the last element. Siracusa's been talking for quite a while about "Copeland 2010". The question was, what comes after Objective-C.
Well, Apple's been hiding a lot of cards; they have an answer.
It's called Swift, and it removes much of the C-isms of Objective C. It adds lots of things; the ones that caught my eye were generics (parameterized types), closures, type inference, garbage collection, and multiple return values. What I think is interesting is that it will allow (encourage?) a functional style of programming. I didn't notice if tail call optimization was in there.
As one with only the barest of clues of functional programming, I'm looking forward to learning it.
They're also claiming significant speed enhancements over Objective-C (though it was unclear, to me, where those improvements were coming from). It sounded like something close to 50% faster.
Oh, I almost forgot. They claim several different kinds of errors (buffer overflow, pointer dereferencing, goto (?)) become things of the past. That's impressive, if it works as advertised.
Anyway, I wasn't able to watch all of this part of the presentation (real life was getting in the way), but I'm excited about it. I want to learn a whole lot more.
Update: I knew I'd forget some stuff. On iOS, there's now an API for third-party apps to use TouchID. Not sure what to make of it, but it's interesting.
Labels:
apple,
development,
ios,
keynote,
osx,
programming,
swift,
wwdc
20140502
Culling shards
Something got me to take a look at my program CDs this morning. And it was an interesting exploration. I found install disks for MacOS 9.2.1 (and another version of OS9 that isn't labeled), 10.1, 10.2, 10.3.7, 10.4, 10.4.5, 10.5, 10.6, and 10.6.2.
The surprises are that I couldn't find any 10.0 or 10.7 disks (I know 10.8 and 10.9 were just downloads), and that only .2, .4, .5, and .6 were commercial disks (the others came with Powerbooks G4 (pismo and titanium), a PowerPC Mac Mini, a MacBook Pro, and an iMac 27" 2009).
Now I'm trying to figure out if there's any reason to keep any or all of them around. I'm leaning towards no.
The surprises are that I couldn't find any 10.0 or 10.7 disks (I know 10.8 and 10.9 were just downloads), and that only .2, .4, .5, and .6 were commercial disks (the others came with Powerbooks G4 (pismo and titanium), a PowerPC Mac Mini, a MacBook Pro, and an iMac 27" 2009).
Now I'm trying to figure out if there's any reason to keep any or all of them around. I'm leaning towards no.
20140418
Applescript notes
My pay stubs come in via ADP's portal, which is frightfully annoying to use on a Mac. Basically, it doesn't work for crap in Firefox, and you can't use 1Password (or keychain, come to that) to enter your credentials.
But it's been bugging me, so I've been working to automate it. I've actually got it mostly working (I can go to the newest pay stub, and open that in its own window (it normally opens via an embed), but haven't yet gotten it to save), and just wanted to mention a few things I did to it there.
I should mention, too, that this is my first Applescript. In fact, I was going to try to do the entire process via Automator, but that proved impossible (well, I couldn't manage to come close, anyway), so I fell back to using Applescript.
The script opens Safari, goes to the portal URL, and enters credentials via
Yes, this is horrible syntax (this is what happens when you have a programming language written for non-programmers), but it is pretty powerful.
Then, it gets really interesting, as I start embedding javascript:
The interesting parts to, there, are that
Update: I was finally able to save the file by forcing safari to just save it to disk by doing
(The second of those was optional, but kept Preview from opening.)
Then I just used a shell script (after saving the file name from the embed src) to move the file from Downloads to my target directory.
Oh, getting the filename separated out was a little interesting:
Update 2: Just noticed, with some amusement, that I had about ten tabs open for looking up various applescript oddities.
But it's been bugging me, so I've been working to automate it. I've actually got it mostly working (I can go to the newest pay stub, and open that in its own window (it normally opens via an embed), but haven't yet gotten it to save), and just wanted to mention a few things I did to it there.
I should mention, too, that this is my first Applescript. In fact, I was going to try to do the entire process via Automator, but that proved impossible (well, I couldn't manage to come close, anyway), so I fell back to using Applescript.
The script opens Safari, goes to the portal URL, and enters credentials via
tell application "System Events"
keystroke "userid"
keystroke tab
keystroke "pw" -- yes, this is not terribly secure; using the keychain would be better
keystroke return
delay 4 -- needed before next step
end tell
Yes, this is horrible syntax (this is what happens when you have a programming language written for non-programmers), but it is pretty powerful.
Then, it gets really interesting, as I start embedding javascript:
tell application "Safari"
tell current tab of window 1
do JavaScript "document.getElementById (\"menuHit.node2\").onmouseover();"
do JavaScript "for (var i = 0; i < document.links.length; i++) {
if (document.links[i].textContent == 'Pay Statements') {
document.links[i].onclick();
break;
}
}"
delay 4
-- you'd think I'd be used to it from java, but I hate these
-- doubled backslashes
set linkScript to do JavaScript "function getLink() {
var pat = /\\d{2}\\/\\d{2}\\/\\d{4}/;
for (var i = 0; i < document.links.length; i++) {
if (document.links[i].textContent.search (pat) >= 0) {
return i;
}
}
}
getLink();"
set docName to do JavaScript "document.links[" & linkScript & "].textContent.replace (/(\\d{2})\\/(\\d{2})\\/(\\d{4})/, '$3$1$2');"
The interesting parts to, there, are that
- You can do javascript
- You can get values back from javascript (note that the whole purpose of that function, getLink(), is to enable returning a value via return. Supposedly (I didn't try it), you can't just return from the javascript. I thought for loops had a return value, implicitly, but that didn't seem to be the case from the slight experimentation I did.
- You can embed applescript variables into your javascript calls
- You can use javascript to get regular expression processing in your applescript
Update: I was finally able to save the file by forcing safari to just save it to disk by doing
defaults write com.apple.Safari WebKitOmitPDFSupport -bool YES
defaults write com.apple.Safari AutoOpenSafeDownloads -bool NO
Then I just used a shell script (after saving the file name from the embed src) to move the file from Downloads to my target directory.
Oh, getting the filename separated out was a little interesting:
set fileName to do shell script "basename `dirname " & docUrl & "`"
Update 2: Just noticed, with some amusement, that I had about ten tabs open for looking up various applescript oddities.
Labels:
adp,
apple,
applescript,
javascript,
mac,
osx,
safari
20140416
Maestro musings
Mac Power Users has sold me on Keyboard Maestro, and I've been playing with that a bit.
Today, I realized that some of my apps don't update automagically, so I set up scripts to automatically download and install the latest version once a week.
Basically, it's just a shell script that runs, but there are a couple interesting things in the shell script.
One of the apps is dropbox, which has a download link of https://www.dropbox.com/download?src=index&plat=mac
To save that string as a shell variable (so it can be referenced multiple times), I finally figured out that I need to do:
export URL='https://www.dropbox.com/download?src=index\\\&plat=mac'
The parts of note are the single quotes and the double-quoting of the ampersand (those three backslashes). That enables doing
curl -s -e "$URL" ...
a bit later on.
The other interesting bit is very apple-specific. That download gets a dmg, of course, which needs to be mounted. What makes that tough is that there's a license agreement (GPL) to which agreement must be indicated. Hence,
echo 'y' |hdiutil attach $ONAME -readonly >/dev/null
The utility 'yes' should work in place of 'echo y', but for some reason it wasn't (or at least it didn't appear to be. It might be that another change in the command, or the line before it, was what got things working, rather than the change to echo).
Anyway, Keyboard Maestro is pretty cool. I'm sure that I've only scratched the surface of what it can do, so far.
I actually got dropbox to facilitate syncing 1Password on my mac and my iOS devices, but haven't used it for that at all; I've been doing WiFi syncing (MPU did not sell me on 1Password; I've been using that for years. But they might have gotten me to update to v4, and definitely did get me to get the iOS version).
Today, I realized that some of my apps don't update automagically, so I set up scripts to automatically download and install the latest version once a week.
Basically, it's just a shell script that runs, but there are a couple interesting things in the shell script.
One of the apps is dropbox, which has a download link of https://www.dropbox.com/download?src=index&plat=mac
To save that string as a shell variable (so it can be referenced multiple times), I finally figured out that I need to do:
export URL='https://www.dropbox.com/download?src=index\\\&plat=mac'
The parts of note are the single quotes and the double-quoting of the ampersand (those three backslashes). That enables doing
curl -s -e "$URL" ...
a bit later on.
The other interesting bit is very apple-specific. That download gets a dmg, of course, which needs to be mounted. What makes that tough is that there's a license agreement (GPL) to which agreement must be indicated. Hence,
echo 'y' |hdiutil attach $ONAME -readonly >/dev/null
The utility 'yes' should work in place of 'echo y', but for some reason it wasn't (or at least it didn't appear to be. It might be that another change in the command, or the line before it, was what got things working, rather than the change to echo).
Anyway, Keyboard Maestro is pretty cool. I'm sure that I've only scratched the surface of what it can do, so far.
I actually got dropbox to facilitate syncing 1Password on my mac and my iOS devices, but haven't used it for that at all; I've been doing WiFi syncing (MPU did not sell me on 1Password; I've been using that for years. But they might have gotten me to update to v4, and definitely did get me to get the iOS version).
20110829
I am Lion, hear me roar
I finally upgraded my main machine at home to Lion yesterday. Early returns leave me mostly indifferent. Despite my iPhone/iPad experience, I find Launchpad to be not so useful on the Desktop. Mission Control seems ok, but Cmd-tab has always worked well enough for me. And I'm trying to get used to it, but I suspect I'll switch Mail back to the old interface.
And the reversal of scrolling is really irritating me. Can the "reverse" work? Of course it can; when I played Quake 2 a lot I swapped the up-and-down viewing the same way. But the problem is that a) I'm long since used to scrolling the old way and b) I still need to use windows and linux machines at work, which keeps me from getting entirely accustomed to the new way.
What I am more excited about is that I recently discovered Plex, and that rocks. Especially once I got the iOS app for my iPad so I can stream from my library straight to that. And finding that I can send my Aperture library to it as well? That was just the cherry on top. Seriously sweet. Not perfect; there still are a few bugs. But really nice.
Getting back to Lion, though, it's definitely been underwhelming. Not terrible, but not terribly exciting, either. On the plus side, it was cheap enough that the improved internals alone are probably worth the upgrade.
Oh, and one other bit of annoyance; support for PPC apps was dropped. I had a bridge game I played quite a bit that I can't play any more (well, not on this machine, anyway). And nobody is making any bridge games in the App Store. A little bit of searching did just turn up Bridge Pro. It's very expensive, but I'll have to give some thought as to whether or not it's worth it. I do like bridge a lot.
And the reversal of scrolling is really irritating me. Can the "reverse" work? Of course it can; when I played Quake 2 a lot I swapped the up-and-down viewing the same way. But the problem is that a) I'm long since used to scrolling the old way and b) I still need to use windows and linux machines at work, which keeps me from getting entirely accustomed to the new way.
What I am more excited about is that I recently discovered Plex, and that rocks. Especially once I got the iOS app for my iPad so I can stream from my library straight to that. And finding that I can send my Aperture library to it as well? That was just the cherry on top. Seriously sweet. Not perfect; there still are a few bugs. But really nice.
Getting back to Lion, though, it's definitely been underwhelming. Not terrible, but not terribly exciting, either. On the plus side, it was cheap enough that the improved internals alone are probably worth the upgrade.
Oh, and one other bit of annoyance; support for PPC apps was dropped. I had a bridge game I played quite a bit that I can't play any more (well, not on this machine, anyway). And nobody is making any bridge games in the App Store. A little bit of searching did just turn up Bridge Pro. It's very expensive, but I'll have to give some thought as to whether or not it's worth it. I do like bridge a lot.
Subscribe to:
Posts (Atom)