Archive for the ‘Apple’ Category

The Amazing Power of Music – iTunes is Amazing

Wednesday, August 6th, 2008

iTunes.jpg

It's been a rough couple of days, as recent posts will attest. Plain and simple, it's been bad. But this morning I turned on my iPod and started listening to some of my music, and things started to seem not so horrible. It's an amazing thing with music - though I'm sure some research has been done to map the pleasure centers of the brain activated by music, I just know I feel a lot better when I listen to nice music.

I used to be a straight album (CD) guy - start an album listen to the whole thing. It's a carry over from the days when that's how music was delivered and that's how you played it. But a few years ago a good friend really got me into the playlist capability of iTunes, and it not only allowed me to stitch together my multi-album sets into complete 'volumes', it took a while but I started to really mix up the music and make real playlists.

Took a while, but what a difference. I used to run iTunes only when I need to rip a CD (I always bought CDs) - now it's running all the time pulling in podcasts and holding music, apps, and movies. Amazing.

While I never would have guessed it, this has really changed my ability to work in hostile environments. A little music can really fend off the gloom, and given the level of gloom I'm in, I need all the help I can get.

New iPod Touch Software v2.0.1

Tuesday, August 5th, 2008

iPodTouch.jpg

While I wasn't really unhappy with the v2.0 upgrade to my iPod Touch, I did realize that a lot of the original iPhone owners were saying that it was very slow, bug-ridden, and in general, a significant downgrade. So I was very interested in seeing what I'd find when I got the update.

One of the the things that really surprised me in the v2.0 update was the time. It probably took more than an hour to update my 32GB iPod Touch. I was stunned. Thankfully, one of the nice things I'd heard about this v2.0.1 update was that it was supposed to have a faster back-up functionality. Sure enough, it was significantly faster in this update than in the v2.0 update.

There are supposed to be a lot of fixes and improvements, but I'm guessing they aren't in the functions I've been using, as I didn't see a major issue with the old release. But it's nice to have something that loads apps faster, and fixes all these issues that the iPhone users have been complaining about.

Linear Algebra Classes on iTunes U

Friday, August 1st, 2008

keynote_sm.png

A friend of mine that wanted to get up to speed on matrix math asked me what I thought he should do. I told him I'd look at iTunes U and if I found some good class on Linear Algebra I'd tell him about it. Well, I have to say I'm amazed at what's available in the iTunes U selection.

I looked around a bit - it could be a little better organized, but I can say it's not bad - just time-consuming to find what you might be looking for. What I found was a pretty nice course called Linear Algebra, Spring 2005 from MIT Open Courseware. Thirty-five 40 minute lectures that start at a pretty basic level and seem to cover all the basics. It'll give him a really solid understanding of the matrix manipulations he's doing in his work, and hopefully some understanding as to why he's doing them.

I have to say that the first time I took Linear Algebra I got the mechanics down pretty well, but the level of understanding was just too thin. Maybe it was the guy teaching it, after all, it was a night-school class at a local campus, so it's not like he was a renowned lecturer, but still, I have to accept a good chunk of the blame.

Later, in grad school when I really learned it, I really enjoyed it as well. I told my friend that if he watched the course and had any questions I'd be glad to meet him for lunch and help him through the issues. I doubt he'll have a lot of questions - he's a smart guy, but it's always nice to know you have a safety net, and that's what I really gave him. Should be interesting to see how he does.

Lots to Say About the iPod Touch App Store

Friday, July 25th, 2008

iPodAppStore.jpg

Well, there's certainly been a lot of noise on the net recently about Apple's iPhone/iPod Touch App Store. Good, Bad, Angry, Happy... all over the map. While I've only done a little bit of playing around on the App Store, I do have a few ideas on the App Store now. Overall, nat bad, but there's a lot Apple could do to make it better.

First, because I have the Touch, there's not a lot of apps that I'm going to buy because I leave the WiFi off most of the time to conserve battery power, also there aren't a ton of places where I'll have a Hot Spot and not pull out my laptop instead of my iPod. So it's got limited utility to me, but still, there are a few nice things, and as a sales tool for up-selling to the iPhone the Touch is a nice entry point.

So... the thing that seems to be the most significant issue is the fact that developers can't control the timing of releases to the App Store and then to the users. It's a nice idea to have the App Store handle all that, but the complaints I've seen and read certainly put Apple's speed of movement through the store as somewhat less than ideal. It's slow, and there's no way to give developers any idea of when their stuff will be out on the store and available for updating.

For someone who likes to make continual, small improvements to my code, this is a very bad thing. The delays in the publishing to the store require a different level of testing and certification by the developers. Face it, a lot of the Mac apps use Sparkle, or something similar to get automated updates out to their users pretty darn quickly. They control every aspect of the publishing. Now there's a publisher in the middle, and their speed isn't all that good. That makes a lot of the applications on the store look a bit dodgey. After all, what's it say to get an app that you and the developer knows is buggy, with a new release coming "soon" - whenever Apple gets around to posting it.

Not a good relationship builder.

I can see that there is the need for Apple to move more quickly, or allow for the direct downloading of applications from web sites - much like plugins and themes for Firefox. You download it and then it's there. Problem is, this allows for all those malicious web sites to download bad things and take over your phone... so I can see why they aren't too crazy about it.

There's also the unavoidable round of 'junk apps' - dozens of To Do apps and such. Hey, there's nothing you're ever going to be able to do about this stuff. It's new, it's there, and there are always going to be folks that are fast and trying to make a quick buck. Let it go... not even worth talking about. Darwin (natural selection) will weed them out and there's noting that solves this problem like time.

Then there's the legal battles over the simple act of talking about the SDK. This is something that has to be an oversight on the part of Apple and needs to be fixed to give developers a better feeling about Apple. Basically, some folks have read the SDK license agreement and said that GPL software can't be built for the iPhone because you have to be able to release details that are part of the NDA in the SDK license.

While I can understand this as a part of the initial SDK rollout, Apple can't expect to control people's conversations at dinner or over the net. They just aren't capable of doing that. But it's enough to scare people from talking about it in forums, etc. This is a very bad thing, and Apple needs to loosen up - like it has for the Mac OS X SDK. Let people talk. It's good for the platform. They have to know that they will get back a hundred-fold what they put out there - that's the way the developers are with Apple.

Yes, it's a new platform, and they don't want viruses, but they can't stop the virus writers, and so all they are doing is hurting those that can really help the platform.

So... it's got a lot of good things to like about the App Store, but a lot of things that need a little tweaking. I'm sure it'll get better, but it needs to make significant improvements in the publishing very soon or they will loose a lot of momentum they have generated with the launch.

Pushing Numbers a Little Harder – Good Results

Tuesday, July 15th, 2008

Numbers.jpg

This morning I was updating one of the Numbers spreadsheets I had and was trying to push the envelope a little more and see what tools Numbers really had for - well... crunching numbers. I had some data that I wanted to have massaged a little more automatically, as opposed to the brute-force method that I had been using for the past year - since I moved the data from Mesa to Numbers.

The first thing was to have a better calculation of the YTD comparison of monthly numbers. The issue was that I only wanted to look at those months I had data for this year in the previous year. Making it as apples to apples a comparison as possible. The trick there was that the comparison needed to be a sum of the data, so it was possible to make a new column with the IF() function, but it was done even better with Numbers' SUMIF() function.

By simply making the test range this year, and the comparison ">0" and the sum range the previous year's data, I get the sum for the previous year's data for only those months that I have data for this year. Excellent! One thing done automatically that I needed to do.

The next thing was to have the year-on-year monthly changes automatically computed without messing up the sums or averages by putting a '0' in the cell. This was pretty easily done with an IF() call where the conditional was the value for this month of this year being great than zero, and the true clause was the percent change. The false clause was simply the empty string, and that worked out pretty well.

When I was done with the process I had a workbook that looked the same, but acted entirely differently, and much more like a cool, complex, spreadsheet should operate. Now I put in the raw data and shazam! the complete workbook gets all the data it needs. Very cool.

Yes, I realize this isn't that big a deal, but the little I do with spreadsheets is very much brute-force and the steps to find out these functions and use them well was an interesting exercise.

Static Code Analyzer for Obj-C

Tuesday, July 15th, 2008

xcode.jpg

OK, I've been coding for a long time. I've used lots of development environments and the only one that I've found that really holds my interest is ProjectBuilder/Xcode on Mac OS X. From the first time I used it on NeXTSTEP 3.3, I knew it was something far beyond an editor with build tools. It was just so clearly built by developers, for developers. I'm still of that same opinion today.

This morning I read about an interesting tool that analyzes the Obj-C/C code and tells you where you might have issues with leaks, etc. Nothing that hasn't been covered a dozen times before in a dozen different tools, but this one is a little different. First, it's a syntax checker. Again, lint did this for decades, but this is different in that it knows about the idioms of Obj-C and the class structure that Mac OS X uses. That's huge.

Next, it's slick in it's reporting in that it's all web-based and generates all this very simply. I'm not a big fan of web apps, but for reporting, it just can't be beat. What they have done here is the very best of web reporting for coding issues, and I have to say it's remarkable.

I decided to put in one of my projects to see what it might find. Interestingly, it found a possible error in one of my classes in that I wasn't creating a - (void)dealloc method for the instance. Now, technically, the class involved is the main controller class, and it would not get deallocated except on shutdown, so there's no real problem there, but it's nice to keep things clean and try to do the right thing all the time. So I added the very simple method and re-ran the checker. Clean, save for a dead store issue that I'm not about to change as it's really just the last part of a method that doesn't return the error code. It's more of a coding style than an error, but I appreciate that it's telling me about this.

While I'm not doing a lot of Obj-C coding these days, it's tools like this that make me want to change jobs so that I did do a lot of Obj-C coding. The Mac is a wonderful platform, and its development tools are the best I've ever seen. With the addition of tools like this code analyzer, it's even better. Long live the Mac!

Updated iPod Touch to 2.0 and iTunes to 7.7

Sunday, July 13th, 2008

iTunes.jpg

When I got back from vacation on Friday I knew that I'd have the update for my iPod Touch waiting for me - and my $9.95. It doesn't matter, I knew I was going to upgrade - it was just a matter of time.

The upgrade was exceptionally slow, however, and I have to say I was more than a bit surprised at this. Given the other iPod updates I've had in the past, this one should have been much smoother, but it wasn't. Basically, it seems that they saved a few things off to iTunes, then wiped the machine, installed the update, and re-synced all the media again. I would have expected a little more efficient scheme, but I can understand that this is a know, repeatable, reliable way of getting it done.

As a side note, I also updated my PSP over the weekend and it was faster, but that had limited functionality in comparison to the iPod Touch, and yet it went just as smoothly, if a bit faster.

I also updated my iTunes to 7.7 so that I could access the App Store, etc. I'm not planning on buying a lot of stuff on the store, but it's nice to know that should I decide that there's an app I have to have, then I can get it without any hassle.

I Think Joel is Wrong on this One

Tuesday, July 1st, 2008

blogs.jpg

I tend to agree with Joel, of Joel on Software fame, but today there's something he's saying that just isn't right. His point is that you should not hide or disable menu items because there's no feedback to the user why they can't use these, if they can see them in the case of disabling, or not see how to do something in the case of hiding.

While I can understand his logic, I have to say that I think he's taking an extreme point of view to try and make the point. His point is that your application should be easy for all to understand. And to that, I agree. However, it might be a lot easier to understand if the menu items were grayed out if the actions we're allowed. As Daniel J. points out in this rant, there's a lot of ways to indicate why without having the user try something and then be greeted with a message box saying "Hey, no can do".

It's a question of usability and your users. On a Mac, the average user is going to expect that applications behave a certain way - including having disabled menu items. On this platform, if you don't disable a menu item that is illegal in a certain context, the users will think it odd, and say it's a bug. And it is. For this platform. On some other platform, maybe not. But I think it's going to be tough to really make hard and fast rules like this without looking at the environment and the expected users.

Getting a Secure Web Server (https) on Mac OS X 10.5

Tuesday, July 1st, 2008

WebDevel.jpg

I found this article on MacOSXHints.com about how to set up the default Apache web server with https functionality along with the standard http service. It references another hint that really does all the work of creating the certificate, and this hint is really just how to use that certificate with the latest Apache2 that's on Mac OS X 10.5.

It took me all of about 10 mins. to get the files created and then a few minutes to fix up the Apache2 config files. Pretty nice, really. I haven't done any https work in a few years, but I remember it being a lot more complicated than this to get Apache configured for the SSL work. The certificate was always about a half-dozen commands that you never remember so you always look them up and do it once every ten years or something.

I'm not sure if this is a big deal, but it's nice to have the option again of being able to do some https work, if I need to.

Mac OS X 10.5.4 Released

Tuesday, July 1st, 2008

Leopard.jpg

This morning I updated to 10.5.4 on my MacBook Pro. There are security fixes in Safari, a few things for Safari, and a few things for the new MobileMe (was (dot)Mac) and the iPhone Store in iTunes. I was pleased that they put in the fix for Spaces and the Finder window focus, but I'm not sure if the faster Javascript engine is in Safari now, or if that's targeted for a later release.

I'll have to update my iMac and the kids' MacBooks one of these evenings, or this weekend. I'm not sure they'll see any difference - I haven't yet, but for all the web surfing they do, the added security fixes will be a very good thing.