Categories
Parallel Desktops

Book resources for learning Ruby on Rails

I've now been using Ruby on Rails for a little over a year and have found it to be a fantastic environment to build web based applications. The last year has not been without some serious pain and learning curves and while I hardly consider myself a master of the environment I've found a number of resources that may help you if you are considering using RoR as a development platform.

Sure, you can access nearly everything you need to learn RoR online but I am personally still addicted to the dead-tree model of learning. If you are like me and prefer buying books then read on. In the last year I've bought 10 books on various Ruby/Rails topics and what follows are the ones I've gotten the most use out of.

NOTE: Ruby on Rails is a constantly evolving environment and the information below is really relevant for early June 2009. Things can change in the Rails world relatively quickly. It's a good idea to stay up on Rails developments by following the Ruby on Rails blog at a minimum.

Learn Ruby First
Before you rush out to buy a Ruby on Rails specific book first you need to learn Ruby the programming language. If you've been writing applications in C/C++/C#/Pascal (like I had) then Ruby is a relatively easy language to learn. Since it is open source getting a copy of Ruby is usually just a matter of downloading it to your machine and running it. Mac users have a big advantage here because Ruby is bundled in with Leopard.

Though you can get up and running with Rails while having a very modest knowledge of Ruby I can't stress enough that you should take the time to understand Ruby before you dive into Rails. Why? Because building a basic application with Rails is so easy that you will be tempted (as I did) to just start building. If you haven't really learned the Ruby language you will take a lot for granted and not understand why things work the way they do. You will copy and paste code rather than write it and when you do write it you will likely not write it well.

The book nearly everyone talks about for learning Ruby is "the PickAxe book" by Dave Thomas: Programming Ruby. Dave Thomas has a great conversational writing style. He makes learning Ruby almost story like, walking you through code samples while providing deep coverage of the Ruby language. At 1000 pages (3rd edition) there is a lot of material here, including a reference for the core Ruby library.

If you want to become adept at using Rails you do not need to read the book cover to cover but should get through Part I before you start doing anything of significance.

Rarely do I count on a single text book to provide my knowledge of a subject and that's the case with Ruby. Based on a blog reader recommendation I also picked up The Ruby Way by Hal Fulton. Though it's nearly interchangeable with the PickAxe book, Hal Fulton has a very different writing style. Rather than weaving a story I've found The Ruby Way to be more reference like. While I started learning Ruby with the PickAxe book I find myself grabbing The Ruby Way more often now when I need to explore an area that I don't understand as well as I would like.

Both of these books are excellent resources for learning about the Ruby language and I recommend having them in your library.

Rails References
Once you have got a good grasp on the Ruby language you can dive into Rails. Once again I have two books that I turn to frequently. One is for learning/getting started, the other is a desktop reference.

While you can find lots of excellent quick tutorials for getting your first Rails application up and running quickly on the web (such as Sean Lynch's excellent tutorial for Rails 2.0) it can't match the depth of a book. Agile Web Development with Rails (AWDR) by Sam Ruby, Dave Thomas and David Heinemeier Hansson is a good way to walk through building your first Ruby on Rails application.

The authors use a step-by-step style to build up an online bookstore, providing side roads and discussion points along the way. Some of the core philosophies of Rails are mentioned here (like DRY), though they don't go into a lot of detail. I personally found that good; what I was looking for was a relatively light-weight book that takes me quickly through building an application so that I could see results. AWDR does that and starts to show off some of the cool things you can do in a Rails application.

If you are going to use Rails for anything other than playing around you need a good reference book that helps explain things in more detail than AWDR. By far my favorite Ruby on Rails book is The Rails Way by Obie Fernandez. This book is not by any stretch a book for helping you get started with Rails; instead The Rails Way covers how things really work inside of Rails. Want to understand what's really happening with a Controller? How routing works? How to really leverage ActiveRecord? Get this book.

Obie has created a great desktop reference that you can pick up and dive in at just about any point. You don't read The Rails Way cover to cover; you keep it handy and pop it open when you need to know more about something you're working on.

So there you have it, four great books on Ruby and Rails that will help you get started building applications in that environment. As I said at the beginning, Rails is a rapidly evolving environment and it's difficult for books to keep up.

Got a book for Ruby or Rails that you really like? A web site with excellent tutorials? Please drop a note in the comments and share.

 

Visit DavidAlison.com

Categories
Parallel Desktops

10 little known Mac utilities

When I blog about applications that I’ve found I generally wrap up my posts with an open invitation to readers: Got any you like? Many folks have been generous and shared links and applications that I’ve used to expand my virtual toolbox and make my Mac experience more fun and productive.

This time I turned that process around a bit and used Twitter up front. I put out this question: Looking for cool little Mac utilities that nobody knows about… I promptly received replies from a number of people with some cool applications that I had never heard of or tried using. After culling through the list I’ve pulled out 10 that I felt looked pretty cool. I’ve included the Twitter name for the person that made the suggestion in case you want to start following them.

EasyEnvelopes


Need to quickly print out an envelope for someone in your address book? EasyEnvelopes from Ambrosia Software has a free Dashboard widget that does just that. When you want to print out an envelope you activate the Dashboard, start typing the name of someone in your address book, select them and then click on the stamp and you’re printing your envelope. Simple, easy and free. Suggested by Jonathan Bernstein.


SoundSource


Do you have multiple input and output devices for sound? Need to quickly alternate between a plug-in microphone like the Blue Snowball (my favorite) and a MacBook’s internal microphone? If that’s a common task for you then Rogue Amoeba has a free menu utility called SoundSource that lets you switch inputs and control input volume without having to load System Preferences. Suggested by JT and Marieboyer.

Jumpcut


I’m a copy and paste fiend, grabbing text from various sources and blasting them into my documents and blog posts. Having a clipboard buffer means I can selectively go back through my “copies” and paste in what I want and that’s just what Jumpcut does. Small, very efficient and available as open source (MIT license), this was also suggested by Marieboyer.

Pacifist


If you want to inspect the contents of Package files, disk images or ZIP files you have downloaded to see the contents then Pacifist is a slick way to quickly see what’s going on under the hood. Pacifist can also inspect a damaged application—especially one installed by OS X—so that it can be repaired without reinstalling everything. It’s available for $20 in shareware form from CharlesSoft. Suggested by Ast A. Moore.

TimeMachineEditor


I’m a huge fan of Time Machine, even though the dorky Time Machine Errors still haunt me. That said, sometimes you don’t want Time Machine to wake up and back up your machine every single hour. Maybe you’re doing some massive file moves and you want Time Machine to take the afternoons off. TimeMachineEditor, a free utility, is a simple application that merely updates configuration settings. Open it, set it, quit it. Suggested by Doug Smart.

OmniDiskSweeper


I like Disk Inventory X, an application I wrote about last year, and several people suggested that again. While I like that tool and the visual display is helpful, sometimes you just want to see a list of files and folders by how much space they take up. Enter OmniDiskSweeper, now a free utility from The Omni Group. It provides a drill down view that’s similar to the Finder’s column view. The key difference is that it’s sorted by the size of the files and folders. Great for quickly finding and pruning out large files that you don’t need any longer. Suggested by Marieboyer (yes, she had several excellent suggestions).

MacLoc


If you work in a corporate environment (or have kids that like to play with your keyboard at home) and want to quickly walk away from your Mac without logging out and shutting down your applications, MacLoc can help. It’s a free utility that leverages the fast user switching feature of OS X so that you can secure your Mac by activating it and walking away. When you come back you will be presented with the system login screen. Once logged in everything will appear like it did when you left. Suggested by Nicholas Leask.

Caffeine


You fire up Hulu or YouTube and settle in to watching something interesting when after 10 minutes your machine’s screen saver kicks in. Frustrating. What you need is something that will keep your Mac awake for a predetermined amount of time. Caffeine, a free utility from Lighthead Software, does exactly that. I’ll admit, I had heard about Caffeine before but never bothered to check it out until now.

Add it to your menu bar and activate it when you need to keep your machine from falling asleep for 5m, 10m, 15m, 30m, 1H, 2H, 5H or until your turn it off. All the benefits of a strong cup of coffee without the shaking. Suggested by Paul Thompson.

Paparazzi!


If you have ever needed to capture a screen shot of a web page you know how difficult it can be if the page is taller than your screen. Paparazzi! is a handy little utility for grabbing the entire contents of a web page. Want to capture that forum thread or blog comments into a single image? Paparazzi! can take the shot for you. While it doesn’t work with Flash based graphics it can handle most other types of page elements. Suggested by Alo Lopez.

TubeTV


Even though my iPhone supports YouTube, there are lots of times that a video I want to watch is on another service (blip.tv, among many others, is becoming popular). What I would like is the ability to download a really long keynote address from a conference, plant it on my iPhone and watch it while I’m flying or in poor 3G areas. TubeTV is a free application—donations requested—from Chimoosoft that can open a web page and convert Flash based video to a local copy, then further convert it into a rendering option that can be dropped on an iPhone. The conversion can be slow for long videos but if you want to take that video with you this is a nice option. Suggested by Rahil Dowlath.


There were lots of other suggestions, some that I’ve written about before like Disk Inventory X. Others—like SuperDuper—I’ve seen discussed quite a bit so I didn’t include them in the list. There is also one that I didn’t include that I downloaded and found quite amusing on my MacBook Pro: Oriol Ferrer’s Liquid Mac. Thanks to Alo Lopez for making that suggestion!


Got an “unknown” application that didn’t get included in my list above? An undiscovered gem waiting for people to find? Let us all know by dropping a note in the comments below.

Visit DavidAlison.com

Categories
Parallel Desktops

Remembering those shortcuts easily – KeyCue

The best part about writing a blog where I talk about Macs? People give me some great tips in the comments and yesterday’s post on apps for making users more productive was no exception. While I love the shortcuts available on my Mac I often overlook many of them because I don’t know what they are and they aren’t always obvious.

Fortunately DCBrit stopped by and mentioned KeyCue, an application that can quickly display all of the keyboard shortcuts for the application you are currently running. You simply hold down the activation key (defaults to Command) for a few seconds and up pops a dynamically built list of all the shortcuts for that application. Here’s what it looks like for TextEdit:

It really is a simple application but can quickly help you learn those key combinations, making you much more productive on your Mac. It’s normally $26.99 but MacZOT is running a special on it right now for $14.99 through May 3, 2009.

If you want to learn all of the keystroke combinations available for your applications I recommend you give KeyCue a try.

 

 

Visit DavidAlison.com

Categories
Parallel Desktops

4 Mac Apps that speed YOU up

Many people are obsessed with speed and I happily include myself in that category, at least with respect to the performance I get from my computer. Whether it’s a faster processor, more memory, a quicker graphics card or a new high-speed hard drive, upgrading to the latest and greatest translates into getting things done more quickly.

It’s not enough to just throw hardware at a problem, sometimes you have to optimize yourself. Of course I can do this by inhaling a rather large quantity of coffee first thing in the morning but what I’m talking about is finding applications that can improve how you use your computer. Though Macs have incredibly high usability right out of the box, over the last year I’ve found 4 applications that have really helped me improve my efficiency on my Mac. I’ve tried quite a few but these are the applications I’ve stuck with and found most valuable to me.

1Password
Like many people I spend a lot of time in a web browser (actually both Safari and Firefox). It seems that each site has a different cookie policy and password standard and each browser has different reliability when it comes to remembering my login credentials. You want to lose time during the day doing something that doesn’t add any value other than challenging the Grey Matter to a memory exercise? Try remembering the username and password for every site that requires it. Think about the amount of time you waste when you try to log in and try every variation of a password you can think of, or waiting for a password reminder to come back to you in e-mail.

Then think about the repetitive forms with your contact information that need to be filled out and the purchase sites where you have to enter in your credit card details. Finally toss in those times when you need your frequent flyer number or child’s social security number or application’s license code.

1Password does a fantastic job of handling all of this for me. It plants itself in the toolbar of my browser and makes logging in to a site a one or two click affair. It will offer to remember my login credentials the first time I use it and then it retains it after that. Now when I hit nearly any form I can just tell 1Password to fill it out for me and it usually completes most of the common fields without any typing on my part.

Now that I have it synchronizing my 1Password data automatically through DropBox (which is a free service), both the Macs I use on a regular basis are current all the time. It is seamless and completely wonderful.

I realize I sound like I’m gushing about this application but it’s one of those “you have to try it to appreciate it” types of things. It’s also one of the few applications I immediately bought a family license for and put on my wife and kid’s Macs. At $39.95 (single user) and $69.95 (family 5-pack) it’s not the cheapest utility you can buy but well worth the money.

LaunchBar
I have a confession: I am a keyboard junkie. I’ll use an easily remembered keystroke combination over a mouse movement every time. It was for this reason that one of the first features in OS X I became enamored with was Spotlight. The ability to hit Command-Space and just type in the name of something and launch it by hitting Return was excellent.

The issue was that Spotlight had some issues about the time I was starting to really use it and I ended up trying out QuickSilver. While QuickSilver was great I started to see some minor issues with it and at the time the author of QuickSilver was indicating he was walking away from the project (that has since changed I believe). It was at this point that I started playing with LaunchBar and I’ve been hooked ever since.

LaunchBar makes it really fast to get to the application I want, whether it’s running or not. Command-Space (I moved Spotlight to Control-Space), type in a couple letters and hit Return. It’s much faster than Spotlight and allows me to do more than just launch an application. It also learns my personal shortcuts so that when I want to launch Pages I hit Command-Space, PG, Return and it’s up and running.

Since it can also use what I type to search my address book I can find a person by typing part of their name, then hit the right arrow button and select and e-mail address, press Return and I’ve got a new mail message addressed to that person and ready for writing.

I use Skype for my phone calls and have installed some LaunchBar scripts to control it, allowing me to just navigate to a person’s phone number through LaunchBar and hit Return; Skype dials them for me.

Though I can get by with Spotlight on a Mac that doesn’t have LaunchBar installed, my productivity takes a bit of a dip. LaunchBar is €24.00 for a single user version and €39.00 for a 5 user family license.

Spaces
I run lots of applications at the same time (right now I’ve got 16 running). Even with dual screens I like being able to arrange my application windows in a very structured way so I always know where to look for things. Spaces give me the ability to set up those work spaces and jump between them very quickly. The alternative is a bunch of windows that are either layered on top of one another or minimized down to the Dock Bar. I have found that jumping to a Space that contains the apps I need set up and ready for use saves me a lot of time throughout the day.

I’ve written quite a bit on how I’ve set up Spaces to optimize my daily routine. Though it’s included in OS X and could really just be considered a part of the Mac experience I’ve observed a number of Mac users that never bother to. If you haven’t already, give Spaces a try.

SteerMouse
Though I’m a keyboard first kind of person there are plenty of times that I switch into “mouse mode”. Usually this is when I’m browsing through information on a combination of web pages, links from Twitter, and from NetNewsWire. This is when I want my mouse to be more than just a 2 button hockey puck with a scroll wheel and go for heavier duty mice that have multiple programmable buttons.

Logitech is my mouse vendor of choice and while I love the hardware they produce the Mac mouse drivers they put out have been horrid. Fortunately SteerMouse has come to my rescue. It allows me to define custom actions on all of the buttons on my Logitech Mx510 mouse. While I would prefer that Logitech make serious efforts to improve their drivers I’ll happily pay the $20 for SteerMouse because it makes my mouse that much more functional.

So there you have it, the four applications I use constantly to optimize the way I use my Mac. How about you? Got an application that helps you perform at your peak? Drop a note in the comments and share.

Visit DavidAlison.com

Categories
Parallel Desktops

TweetDeck vs Nambu vs Tweetie

I’ve become quite attached to Twitter lately, as several of my blog posts will attest. I use it for a wide range of things; a source of news (technical and non-technical), to chat with friends and share things I find of interest, to ask and answer questions on Macs, Ruby on Rails, etc. and finally to banter about my favorite sports teams (Redskins and Caps, thank you very much).

Given this wide range of uses I tend to be accessing my Twitter feeds throughout the day and the web interface simply doesn’t handle things the way I need it to. As a result I use a custom client to access Twitter. A custom client presents Tweets in their own interface, accessing the data through the Twitter API. You drop in your Twitter username and password and the custom client takes over from there, presenting you with a view of your Tweets and the ability to create them as well.

Over the last few months I’ve tried a number of different Twitter clients for my Mac. First it was TweetDeck, an Adobe Air based client that does a great job of breaking Tweets up into separate and configurable panels. Next I tried Nambu, a native Mac OS X application that showed some real promise. Nambu leveraged many of the same UI elements that TweetDeck did, but it was packaged into a much more Mac style application. Finally Tweetie was released for Mac recently. A popular iPhone Twitter client, Tweetie has a graceful interface that puts a different look and feel on Twitter than TweetDeck and Nambu do. Each of these applications has strengths and weaknesses, which I will try to identify below.

TweetDeck

Strengths: Multiple panels that can be customized and filtered. Ability to create a search panel that persists between sessions. Can auto-complete user names when composing Tweets and addressing to people. Group support. Can also update FaceBook status.

Weaknesses: Uses a lot of memory. User Interface looks odd next to other Mac applications. Can leak memory (though that is reportedly fixed). Font size cannot be set and panels cannot be resized; you only have two sizes for panels. Only supports a single Twitter account.

Summary: TweetDeck is great for people that follow a large number of folks and want to break up their Tweets into custom groups. If you can get over the fact that TweetDeck does not look like a native OS X application it’s a nice Twitter client and is used by an extremely large number of people. It includes lots of little niceties to make creating, replying and ReTweeting posts very simple.

I like that I can click on a person in a list and quickly see their profile and that each Tweet contains virtually all of the information available. Want to know what a Tweet is in reply to? Click the “…in reply to…” text on a Tweet and it loads up the original Tweet in your web browser.

The reason I started looking around at other clients after I had been using TweetDeck for so long was the fact that I wanted something that actually looked like a Mac application. That and the memory leaks in TweetDeck meant you couldn’t leave it running for days at a time without it continually chewing into your memory pool. Even with these issues it is a very capable Twitter client.

Nambu

Strengths: Native Mac application. Has three different view styles including the panel view that TweetDeck uses. Auto-complete for user names when writing a Tweet. Remembers any panel or search you create so that it can be called up later. Ability to create groups of users. Multiple account support.

Weaknesses: In beta and it shows; memory is burned up quickly and Nambu requires restarts fairly often (daily). The pop-up menus within a Tweet and user profiles can take a very long time to display. Not all of the details on a Tweet (like what it is in reply to) are available.

Summary: I like that Nambu gives me so many viewing options, allowing me to tailor it to meet my needs—and screen real estate demands—very well. The fact that I can control (to a degree) the size of the font means I can squish a lot more Tweets into a single page with Nambu than I can with TweetDeck. It also does something that TweetDeck does not do right now: update the Dock Bar image with the number of unread Tweets.

It’s pretty clear that Nambu will strive to be a one-stop social networking application. Though it is disabled in the current beta there are placeholders for FriendFeed, Identi.ca and Ping.fm. If your goal is to keep everything on the social side in one place then Nambu may have an answer for that in the long run.

Nambu is still a relatively young application and it shows in performance and stability. Once Nambu matures a bit, the memory leaks are fixed and the menu performance improves it will be a strong contender to virtually any of the tasks people use TweetDeck for now.

Tweetie

Strengths: Native Mac application. Extremely stable and quick, very resource efficient. User interface is very powerful, especially for navigating across “conversations”. Keyboard friendly for nearly all navigation and input. Tear off search windows provide great flexibility. Multiple account support.

Weaknesses: Doesn’t provide user name auto-complete. No support for Groups. Keyboard navigation within Direct Messages is quirky.

Summary: Tweetie for Mac is a completely different take on dealing with Twitter than either TweetDeck or Nambu. The level of polish and finish on Tweetie is immediately apparent and the smooth UI transitions and keyboard shortcuts make it easy to become comfortable quickly.

The inability to place people you follow into a group so that you can more quickly pick out their Tweets is a shortcoming, as is the fact that searches are not saved across sessions. The keyboard shortcuts simply stop working when you are in the Direct Message area and have replied to a message.

By far the most powerful part of Tweetie is the ability to navigate your way through conversations. If you see someone you follow respond to a person that you don’t follow you can quickly jump to that string of Tweets. It makes reading Twitter feeds much more conversation friendly. Not only can you jump in but Tweetie maintains the context you are coming from so you can navigate your way back out to where you started.

Which one is best for you?
From a functionality standpoint TweetDeck and Nambu are on pretty equal footing. If you follow a large number of people that generate a lot of Tweets, you will appreciate the ability to break your key followers up into groups that you can monitor more easily. I’ve had people follow me on Twitter that have thousands—sometimes tens of thousands—of people THEY follow. Clearly no one can even use a Twitter timeline that contains that much traffic so that grouping and filtering feature both TweetDeck and Nambu have would be critical.

I’m hoping that once Nambu comes out of beta it’s performance will pick up and the memory leaks will be eliminated. Until then TweetDeck is a lot more stable, though if you have multiple Twitter accounts Nambu is the better option.

If you don’t follow a huge number of people and can get by without the group functionality then Tweetie is an outstanding Twitter client. The user interface is simply fantastic, looking and feeling like a native Mac application. It is currently available for $14.95 through May 4 ($19.95 after that). I am personally using Tweetie now; the other features have made me forget about the lack of groups and I don’t really follow that many people.

The competition for Twitter clients is great for all of us. As the software developers keep innovating we will continue to get some really interesting options when it comes to working with Twitter. Keep in mind that this review of these applications was based on the state of them on April 27, 2009. Both TweetDeck and Nambu are listed as being in Beta. Updates can come quickly.

I’ve done some previous blog posts on both TweetDeck and Nambu that have more detailed information. If you want to learn more about Tweetie I highly recommend that you watch Don McAllister’s excellent video tutorial on it.

Got a Twitter client you really like? Drop a note about it in the comments and share what you like and don’t like about it.

Visit DavidAlison.com

Categories
Parallel Desktops

OpenDNS, a great free way to speed up the interwebs

Last night I was doing some research and went to pull up the Ruby On Rails site. Unfortunately when I did I could not connect. My DNS server wasn’t resolving it properly. Assuming it was Verizon’s problem I embarked on a long and ultimately fruitless attempt to find out why rubyonrails.org was not resolving. While doing this I tweeted about it and suddenly got responses from people explaining that there were some problems with that domain name. It wasn’t the Verizon DNS server after all.

So Twitter helped me out, but that wasn’t the end of the assistance. Chad Hohner (@hohner) told me about using OpenDNS, something that will help improve network performance (at least as it relates to name resolution). I figured it was worth a try and changed the DNS on my Mac Pro to using OpenDNS’s servers. The performance improvement for me was dramatic, so much so that I changed back to the Verizon servers, flushed my DNS cache and started testing different sites. I then switched back to OpenDNS, flushed my DNS cache again and timed page loads.

The difference was stunning. On some sites I saw little or no improvement, especially on the very popular sites like Google, Yahoo, MSN, etc. It was when I started visiting lessor sites that I saw a performance improvement of up to 28%. This was a dramatic improvement, takes seconds to do and costs nothing.

Do it now, watch the difference
You can try it out quite easily on a Mac right now; nothing to sign up for, just update your DNS settings to use OpenDNS’s servers. Fire up System Preferences / Network and select your primary ethernet device.


Click on Advanced, then add these two servers into the DNS section:

208.67.222.222
208.67.220.220

Once they are added in, close it out and open a terminal prompt and flush your DNS cache. I believe System Preferences does this automatically but just to be sure you can enter this in a terminal prompt:

dscacheutil -flushcache

At that point you are using the OpenDNS servers. If the performance looks good then you can also set up your router to hand out those DNS settings to all of your machines. OpenDNS has pretty detailed instructions for how to handle it. I did that to my Verizon router and now all of the machines in the house are operating much more quickly.

OpenDNS Services
There’s more to OpenDNS than just offering a free DNS service. They also offer content filtering and parental controls, which will allow you to set high level filters on the types of sites that your machines can access as well as specific categories that will limit access.

This is handled by signing up for an account (again, free) and optionally installing a small menu bar application that will maintain your IP address with OpenDNS. I installed this little notifier in a couple of minutes on my primary Mac Pro since it’s always connected to this network.

Is it really free?
I was curious about how OpenDNS was able to provide these services for free and did a little research. It turns out that they make their revenue on ads that are displayed if you enter a domain name that is incorrect. If you never fat-finger a domain name then you’ll likely never see the ads, but enough people do that it generates the revenue needed to power this service.

There are two things I really got out of this little experience:

1) OpenDNS is very cool and I highly recommend that you try it out

2) Twitter continues to provide a really valuable resource for getting information quickly and easily. Thanks again Chad!

Got a tip for speeding up your network connection? Please drop a note in the comments! And as always, you can follow me on Twitter.

Visit DavidAlison.com

Categories
Parallel Desktops

Baby Shaking Apps and Other Challenges for Apple’s App Store


My wife and I were going through our morning routine, eating breakfast and reading the newspaper when suddenly she said “I can’t believe Apple!”. We share many core beliefs—especially on politics—so I usually give her a nod, offer a “Yup” and continue reading my section.

Me: “What about Apple?”

Wife: “They have a shaking baby iPhone application!!! This is outrageous!”

Me: “Honey, Apple didn’t make that application.”

Wife: “Well they had it in the App Store. That’s just stupid.”

I completely understand that Apple is generating some significant revenue from their App Store sales and that it has become a major part of their strategy moving forward. The problem as I see it is that Apple is putting itself in a very precarious position. Instead of just worrying about whether or not the application will break an iPhone, chew up resources, etc. Apple now has to worry about the content.

The problem as I see it is two-fold: Apple is now associated with the content of applications that run on an iPhone. The second is that Apple is setting a precedent that will carry forward as small devices like the iPhone get more powerful and start to merge with traditional desktops and laptops.

Being Associated with Content
Since Apple is essentially taking responsibility for the content on the iPhone they are putting themselves in a no-win situation. Clearly a shaking baby application is egregious to virtually anyone, but what about other topics. The US alone is a highly polarized place with issues like gay marriage, torture, bail-outs, taxes, etc. provoking strong arguments. Throw in the fact that Apple is a global company and now you have to police these issues in every country you want to sell into.

Now try to apply a rule set that works for the people sitting in the Apple App Store review area. Every single app needs to be approved and the rate will only increase. Mistakes like the Shaking Baby app will happen again and again.

Apple has crafted this brilliant company image, spending billions of dollars on stores, training, application standards, etc. and now a minor mistake by the guy or gal down in the App Store review area makes headlines everywhere and it’s directly associated with Apple, not the author of the application.

The Orwellian Future
This is today’s problem. What about tomorrow’s? Portable devices are becoming more and more powerful. It won’t be long before we’ll see the technologies start to merge and iPhones will be just as powerful as a laptop or netbook class machine. As this merge happens how will Apple distinguish between applications that are specific to the iPhone and those that run on a more traditional machine?

Can you imagine a day when Apple has to authorize any software that is installed on your Apple device, including what today is your Mac? Technology advances mean these products will converge in the near future and Apple will need to live with the standards (and revenue streams) they have come to depend on.

How can Apple solve this problem?
There are numerous solutions to this issue, all with strengths and weaknesses. Apple could stop worrying about application content entirely and focus on highly objective measures like memory usage, stability, etc. They could have a class of applications that have been rated for content and others that have not. They could even license out the deployment of iPhone applications to other companies, allowing those companies to be responsible for the content.

Rest assured though, this is going to become a bigger problem down the road. Can you imagine if the developers of a web browser were responsible for the web pages that were viewed through them? This is effectively the role that Apple has staked out for itself.

What do you think? Is this really a problem that Apple needs to figure out?

Visit DavidAlison.com

Categories
Parallel Desktops

Keeping those bookmarks synchronized

I’m torn. On one hand I like Firefox because of the incredible array of add-ons, especially for developers building web applications. On the other hand I love the performance I get from Safari and with the release of the version 4 public beta many of the new features. As a result I find myself jumping between the two browsers all the time, often keeping both open (one for browsing, one for my current web development project).

Compound this with the fact that I have two Macs I use frequently—a Mac Pro and a MacBook Pro for meetings and travel—and my bookmarks are all over the place. I even have Firefox running on my Ubuntu workstation and would like my bookmarks there too. Fortunately I found a great solution for this problem: X-Marks.

Though it started out as an add-in for Firefox they recently changed their name from FoxMarks to X-Marks and have started adding more browser support. They now have a Safari add-on and this has solved my little bookmark problem.

X-Marks is backed by a free online service that stores your bookmarks so that you can access them from anywhere. The privacy policy indicates they protect your bookmarks but do aggregate bookmarks anonymously, which is where their business model comes in. They also have settings in the Firefox version that allows you to control their add-on providing recommendations when you view a site:


These settings can add an additional icon to your URL bar that presents a list of alternative sites that match up with the site you are looking at:


Since Safari doesn’t have the built in extensibility that Firefox does the Safari version is handled by a custom application that loads at startup and plants itself in the menu bar, providing the ability to Synchronize on demand:


Working between multiple machines on multiple browsers is much easier with a tool like X-Marks. They also support IE so if you have a Windows machine at the office that’s tied to IE and you have a Mac at home you can keep those bookmarks synched up.

Now if I could find a free/low cost service that would keep my 1Password data securely synchronized between my machines (and not the Mobile Me service thank you very much), I’d be a very happy camper. Got one that you can recommend? Have a better bookmark synchronization tool? Please drop a note in the comments.

 

Visit DavidAlison.com

Categories
Parallel Desktops

Two tips for Tabbing your way through a Mac

When I switched to Mac from Windows I had an adjustment period. The window model is a bit different, the menu is in a different location, the Dock Bar != the Start menu, etc. Those all took a little adjustment period but I quickly overcame them as obstacles to productivity. By far the longest adjustment period involved the use of the keyboard and more specifically the use of the Tab key.

For all of the keyboard power of a Mac (shortcuts are virtually everywhere) the Tab key seems to be forgotten on most Mac keyboards, yet that is probably the most used navigation key on Windows. Here are a couple of tips for making your Mac keyboard experience leverage the Tab key:

Enabling Tabbing
The first thing you will want to do is to enable tabbing in dialog/pop-up windows. For some reason Apple decided to make that an option you need to manually enable in order to tab your way through all of the controls on a modal dialog. You can change this by going to System Preferences / Keyboard & Mouse / Keyboard Shortcuts and enabling full keyboard access:


This means that when a pop-up dialog is presented you can hit Tab and Shift-Tab to quickly navigate the controls. When a button is highlighted you can hit Space to activate (or click) that button. The alternative is that not every control is a Tab stop.

Safari Tabbing
Again, unlike other applications (Firefox on Mac for example), Apple does not think all of the items on a web page should be a tab stop in Safari. Hyperlinks as an example—which are often used as buttons in some web page designs—are passed right over by default.

You can change that behavior in Safari by going to Preferences / Advanced and checking on the Universal Access setting for the Tab key:


This will allow you to tab through all of the elements on a web page, much like most of the other web browsers out there.

Given the keyboard power that Macs have—something I found quite surprising after I switched—I’m not sure I understand why the Tab key has been relegated to "optional" status by Apple in these cases. For people switching to Mac from Windows it’s a really good idea to make these two setting the default option; it sure would help with the adjustment period.

Got a tip for enhancing the keyboard experience of Mac users? Please drop a note in the comments!

 

Visit DavidAlison.com

Categories
Parallel Desktops

Nambu makes Twitter feel natural for Mac users

For a while now I’ve been using TweetDeck to access my Twitter account. While I love many of the features that TweetDeck has made popular I always struggle with the UI. Though it’s quite usable the fact that it’s built on top of Adobe Air means it doesn’t look quite right on my Mac’s OS X desktop.

I’ve tried a number of different Twitter clients for Mac but none worked quite as well as TweetDeck did for me. Then along came Nambu, which is still in beta. Nambu looks and feels like a normal OS X application. The design is similar to TweetDeck in some respects but has some key enhancements that make it much more powerful.

Multiple Twitter Accounts
I have two Twitter accounts that I use: dalison and sharedstatus. The former is my personal account where I ramble on about my blog, Macs, sports and things I find amusing on the Interwebs. The latter is an account for my main product and I use it to announce features and generally cover business related topics. Fortunately Nambu supports multiple Twitter accounts and allows me to keep on top of my feeds for both quite easily in a single interface.

Multiple Views
Nambu has three basic views: Combined, Sidebar and Multi Column. The Combined view is a complete feed from all of the people you follow in every account you have added to Nambu. I don’t use it because the noise factor is quite high. The Sidebar view is a little more functional and for people that are screen real estate constrained (working from a 13″ MacBook for example) may be a good solution.

For those that are lucky enough to have lots of screen available the Multi Column view is the place to be. For the same reason I like TweetDeck, the Multi Column view allows you to set up multiple panes to watch key feeds, including search results on a specific topic.


Another advantage of the Multi Column view is the ability to create groups of people you are currently following. If you tend to follow a lot of people but want to create a view that includes only selected people so they don’t get lost in the noise then you can create a group and display a panel with their feeds.

Unread Markers
While TweetDeck can handle unread markers it doesn’t update the Dock icon, something that a native Mac application like Nambu can and does. There is even the option of limiting the unread counts to all of your views (which can be quite high) or to just messages that are sent to you directly.

Support for more than just Twitter
As of right now Nambu supports Twitter, FriendFeed, Identi.ca and Ping.fm. Much like Adium supports multiple chat services (AIM, Google Chat, etc.), Nambu is a striving to be a collection point for social media services. I personally don’t use the other services so I have no idea if they are well serviced in Nambu.

Beta Software – Bugs On Deck
While I’ve generally found Nambu to be stable it is beta software and as a result has some bugs. Updates are coming out quite frequently and many people are reporting that the most recent update (1.1.8) is crashing quite frequently, though I’ve been running it most of the morning and it has not crashed on me. If you decide to try out Nambu you should also follow Nambucom on Twitter; they are providing pretty regular updates and that seems to be the best vehicle for getting questions answered.

There are a number of existing Mac specific Twitter clients available right now with more coming along all the time. This space is going to get highly competitive for a while which is outstanding for Mac users. If you have a Mac specific client for Twitter that you really like please drop a note in the comments and share.

Visit DavidAlison.com

Categories
Parallel Desktops

My top 5 ways to make Twitter better

I’m finding myself using Twitter more and more these days and not for putting out tweets about what I’m doing at the moment. Twitter is slowly replacing my RSS reader as my vehicle of choice for news I care about, whether it’s general, technical, Mac specific or sports related. I’ve used it to promote my new company (SharedStatus), chat with friends about topics I care about, help people with Mac and Ruby on Rails specific questions and generally build up a network of people I like to chat and network with. I can ask a question on Twitter and usually get an answer almost immediately.

For these and lots of other reasons I’ve found Twitter to be a great addition to my online experience. While I really like Twitter I know it can be improved so here are my top 5 features/changes for making Twitter better:

1) Make ReTweets fundamental
ReTweets (usually abbreviated RT in tweets) are likely the most powerful networking component of Twitter. When you find something of value you RT it; if you want people to know about something important to you then you want people to RT it to their followers. Entire sites have been made to talk about the value of ReTweets. So why doesn’t Twitter have a built in ReTweet mechanism? Something that allows me to ReTweet without having to chew up the actual content in order to do it?

Much like the old campfire story that changes as it goes around the fire ring, ReTweets tend to become more and more abbreviated as they progress because people like to keep the original authors and forwarders in the loop. Since many RTs tend to have links in them the content is already at a premium. I’d like to see the RT path broken out separately from the message body. It would keep the content intact and allow you to see where an RT has been.

2) Make links external to a tweet
Another thing I would like to see broken out of the text area of a tweet is the ability to have one or more links to web content on a tweet. Sure, services like Bit.ly, TinyURL, etc. can make some pretty small links but this is a very common "cargo" for a tweet. This need could also be addressed if Twitter supported hyperlinks in a Tweet.

I know, SMS gateways would have a difficult time dealing with this since text messaging is part of Twitter’s foundation but few people get their tweets through SMS anyway; if you’re doing it on a phone it’s likely a smart phone with a Twitter client anyway. You know, one with a web browser so you can actually see what the link points to. Making SMS the high water mark for tweet capabilities will severely limit any new features in the future.

3) Build in support for hashtags
Hashtags are one of the cooler things the Twitter community created. By prefacing a word with the hash symbol (#) people create virtual conversations around a topic. Combine it with the Search capability in Twitter and it’s a great way to stay on top of topics you care about. I use it all the time while watching sporting events at home. It’s a great way to get general commentary on something that is happening live and to find others to follow that share your passion on a topic.

The downside of hashtags is that they once again tend to chew up that precious 140 characters with something that really should just be a tagged attribute that can be used for searches and views. People need the ability to organize the tweets they see and hashtags can serve as the vehicle for that.

4) Allow me to create views on the Twitter web site
The main reason I like TweetDeck is it’s ability to create views of the people or topics I want to follow on Twitter. When you combine those views with hashtags you get a great way of staying on top of the topics you want to track when you want to track them. This functionality is something I would really like to see Twitter add to their main web site interface. Sure, it can be left to the custom client applications to service that need but more and more I find myself accessing Twitter from multiple locations; I would like my views to follow me where I go.

Let me set them up, name them and then access them from any client as well.

5) Give me the option of receiving DMs from followers
Direct Messages are very handy, though I don’t like the fact that people cannot direct message me if I don’t follow them too. I don’t follow a lot of people because the noise factor gets too high, yet I want people to be able to reach me easily. Just give me the option of setting who can send me a direct message:

  • Anyone
  • People that follow me
  • People that I follow and follow me
  • Nobody

That should pretty well cover all the cases of direct messaging.

So there you have it, the five things that I think would make Twitter better. Yes, I know, many of these changes have sweeping architectural implications for Twitter but hey, if Twitter is going to be around for a long time it will need to support the ways people are actually using it.

What about you? Got a suggestion for something in Twitter that I didn’t include? Drop a note in the comments. Or if you’re feeling brief, shoot me a tweet on it.

 

Visit DavidAlison.com

Categories
Parallel Desktops

MacHeist 3 Bundle – some great apps

In the unlikely event you haven’t heard of the MacHeist 3 Bundle allow me to introduce you.

MacHeist is a collection of applications available for a dramatically reduced price. A significant portion of the proceeds go to a variety of 10 different charities, which you can designate when you purchase or simply let MacHeist evenly distribute to all.

I’ve heard some people complain that this devalues ISV software, a claim I find ridiculous. The single most challenging problem every ISV faces is getting people to learn about their software. The more people that are exposed to it, the more likely you are to "get the word out". It also gives the ISVs the opportunity to be associated with a really good cause; as I write this blog post over $342K have been raised for charities. Everyone wins in this scenario; the buyers gets a great deal, the ISVs get some great exposure and the charities get money at a time when donations have dropped precipitously during this economic recession.

That said, most people buy MacHeist not out of a desire to support a charity but because they see a great bargain on one or two applications in the collection, would likely pay $39 just for that application alone and then get a bunch of bonus applications too. The charity angle is another bonus. That was the case for me.

What I Really Liked
Though World of Goo is normally only $20 the game is so much fun I consider it a buy at $39. The animation, sound effects and play of the game are simply outstanding. Having been a big time gamer in the PC world with first person shooters I tended to avoid puzzle style games; World of Goo is rapidly changing my opinion. Now I’m hunting for more games like it!

Picturesque, which is normally a $35 application, allows you to do some really cool treatments to photos, framing them up, placing them on angles and creating beautiful drop shadows. Though I’ve been pretty happy with the cadre of different applications I use for basic photo editing the stuff that I can do quickly with Picturesque is really nice. Note the graphic at the top of this blog post? That took just a second with Picturesque.

Kinemac is a rather large application that normally carries a pretty heavy price tag of $300. Though I’ve only started to play with it Kinemac looks like a really slick way to create 3D animations of text and objects. I’ve been wanting to dress up some video tutorials I’ve been putting together for SharedStatus and I’m hoping Kinemac will help me create a nice intro animation.

Those were my big three and easily worth the price of admission. Virtually all of the applications, with the notable exception of the bonus Big Bang Board Games collection, installed and worked fine. Big Bang Board Games apparently needs to phone home to its server in order to start up properly and the server was overwhelmed initially. That’s very bad form in my book; I don’t care for apps that phone home on startup but if you do that at least add in code that will fail gracefully, not bomb out the app.

If I was into cooking I’d likely enjoy SousChef, which really looks interesting. To paraphrase Richard Nixon however "I am not a cook", to say nothing of a chef. I love the ability to place your Mac in full screen "recipe" mode so that it becomes a partner in the kitchen.

As of today there are only 4 days left to purchase MacHeist. If you’re thinking of buying it do it soon because if they cross the $400K donation mark to charity it will unlock BoinxTV, something I personally would really like to try out. In addition web development tool Espresso and task management tool The Hit List will be unlocked if they can sell enough copies.

Was there an application in the bundle that you really liked that I didn’t mention? Drop a note in the comments and fill us in!

 

Visit DavidAlison.com