Skip to content

Posts from the ‘Software’ Category

Rethinking IT as an HR Benefit

This has been something that I’ve been thinking about heavily for the past few years.  There is a trend in Silicon Valley that has been under-appreciated in the press, but nonetheless has rapidly swept through technology companies in the Bay Area. It may not be buzzword-enabled (yet), but it nonetheless may be a truly transformative event for our industry.

More and more companies seem to be thinking of IT as a human resources benefit.

(If your eyes just rolled back in your head, stay with me for a second.  This is a big deal.)

Historically, IT has been positioned as one of two things in the enterprise:

  1. Cost Center. In this model, IT technology and services are a required cost of doing business and being competitive, but don’t add any differentiation versus your competitors.  As a result, IT is managed by cost, and the goal is to provide “sufficient” productivity compared to other comparable companies at the lowest possible cost.  In this frame, every software purchase, every hardware purchase, every investment in training or personnel is evaluated based on price.
  2. Productivity. In this model, IT technology and services are seen as productivity enhancements, and potential differentiators.  Here, investments are made based on an Return on Investment (ROI) justification, where the benefits can include saving time and/or people, or potentially boosting output or revenue.  In this frame, there is a heavy bias towards technology that allows people to get more things done, more quickly, and with fewer errors.

Both of these models tend to heavily favor technology that is cheap.  What they don’t favor is technology that is enjoyable to use.   This has led to many decades of enterprise technology that is sold to decision makers at the top of the organization, and rolled out to reluctant employees who bear the brunt of the cost savings and/or potential productivity gains.

I had never considered that there might be a third model until a blog post about IT at Google surfaced in 2006.  [Note: I hope someone can find this URL for me - I've tried with no luck tonight].  This post wrote about how Google set up stations on every floor, with surplus batteries and machines to make swapping out faulty equipment a breeze.  It talked about giving employees a choice of platform to work on.  Most importantly, it talked about thinking about IT as an HR benefit.

IT as an HR Benefit

When you think about benefits in a human resources context, there is a very different frame of reference.  In business school, students who take incentives classes learn about different forms of compensation and their impact on psychology.  In theory, benefits need to justify their existence in some way beyond straight cash compensation.  Sometimes benefits are required because competitors offer them.  Sometimes benefits are offered because it’s cheaper, due to taxes or bulk purchasing power, for the company to buy them than the employee.  Benefits can be long term, or reward certain types of behavior.  In some cases, benefits are offered because people actually appreciate them more than the equivalent of cash.

In most companies, while benefits are in the end a cost center, they are factored into the general budget and philosophy around compensation of employees.  As a result, more often than not, benefits tend to compete with each other.  Given a compensation budget, what percentage of dollars will be spent on salaries vs. bonus vs. benefits?  Would employees prefer a 401k match or transportation vouchers?  Charitable contribution matches or gym discounts?  Who benefits from each program, and how much?  Will the benefit help with recruiting new employees, or with employee satisfaction and retention?

When framed as an HR benefit, IT comes under a whole different light.  Consider:

  • What percentage of your employees time is spent in front of a computer?
  • What is the relative cost of newer, more enjoyable technology over the “base model”?
  • How much would an employee appreciate dollars spent on IT technology vs. other benefits?
  • How does your technology affect your internal corporate culture?

These are very different questions than the ones that tend to drive historical cost-driven IT decision making.

In this model, you might get everyone a 24″ flat panel monitor instead of a 20″ monitor.   Why?  Because as a benefit, this might only cost $50 per employee per year, and they would appreciate it far more than the dollars themselves.   And they would appreciate it for hours every single day.  In fact, they might want to stay at work longer to use it compared to the machine they have at home.

In this model, you might give everyone the choice of mobile device (Blackberry, iPhone, Android, etc).  Of course, it would cost more in software support and development, but allowing employees to use the device of their choice might be appreciated every single day.  It also might make them a little more reluctant to consider working in an environment where they are forced to use a less-preferred platform.

LinkedIn

At LinkedIn, our IT department provides a wide range of choices, which we actually advertise on job postings:

  • Choice between Mac or Windows environment
  • Choice between laptop or workstation
  • Choice between two 24″ displays or a single 30″ display
  • Choice between iPhone or Blackberry

Do these technologies boost productivity?  Absolutely.  Do these technologies cost more than a homogenous, lowest-cost environment?  Absolutely.

But when you look at this list, it’s hard not to see them as benefits.  I see new employees every day, almost giddy when they first get their first laptop and 30″ display, or a tower with 24GB of RAM.  I hear people with guests at lunch brag about how LinkedIn lets you have an iPhone or a Blackberry.

Many of these employees spend anywhere from 4 to 10 hours with this equipment every day – is it any wonder that they perceive these as benefits?

Thoughts for the Industry

The question I have is, how pervasive is this trend?   For most office workers, any computer offers sufficient speed and available software.  In the consumer market, with the resurgence of design-based thinking, we’re seeing more products and profits driven by quality of the experience rather than quantitative metrics or feature checklists.  Will it spread to the enterprise?   Will employees demand it?

Many great professionals that I know in IT long to provide better products and services to their fellow employees.  Maybe this is the opportunity for IT & HR professionals to work together to reframe the way we justify technology at work.

LinkedIn for iPhone 3.0 is LIVE!

Just a quick note to say that the new version of LinkedIn for iPhone is now live in the iTunes App Store.

Download LinkedIn for iPhone

I wrote a fairly lengthy piece on the official LinkedIn blog, so no need to replicate the full walk-through here.  In any case, check out this new home screen:

This application represents a huge achievement for the team.  It’s really a complete redesign and re-architecture of the entire stack supporting the application, based on an end-to-end design that was driven by user feedback and business metrics.

Building iPhone apps is a wonderful throwback in some ways to the days of client software, except with the advantage of over a decade and a half of web-based architectures.  There is a richness to client applications that the web still doesn’t replicate, and a complexity and depth to their design that is often under-appreciated.

Of course, the team had fun too.  The “Themes” feature, for example, was never part of the original plan.  It was originally a last minute easter egg that we included for fun in internal testing.  It proved so popular, however, we felt like we had to include it for everyone.

There are hundreds of things I love about this new application.  Even the way it presents a user’s profile is thoughtful, as LinkedIn is designed to allow you to put your best foot forward as a professional:

Of course, I wouldn’t be a product manager if I didn’t also have hundreds of things I’d like to see improved in the application.  It has been fun to watch the Twitter stream all day, as the feedback has been mostly positive.  Still, while this application represents a big leap forward for LinkedIn on the iPhone, it’s really just a beginning.  What’s most exciting about the architecture of this application is that it will let us rapidly innovate and improve the mobile experience through 2010 and beyond.

So here’s a quick shout out to the team – thank you for the hard work and effort in 2009 to produce an iPhone app we can be proud of.   I couldn’t be more excited for 2010, as we change the way people think of mobile business applications.

LinkedIn Takes People Search to Eleven

I apologize for the reference to Spinal Tap, but this is my personal blog after all.

I normally don’t post most LinkedIn announcements here, but this one is too big to ignore.

On Monday, LinkedIn made faceted search available to all members.  This effort brought to fruition efforts that date back to 2007 to completely rearchitect and redesign the LinkedIn search experience based on the unique characteristics of people search.

Rather than try to describe the feature here, I’ll just point to the formal LinkedIn blog post by Esteban Kozak, and embed his great youtube video on the feature:

The news coverage has been flattering:

What’s most exciting to me, however, is that these are still very early days in the development of the LinkedIn search platform.  It took LinkedIn over five years to amass its first billion queries.  This year alone, LinkedIn will exceed that number by a wide margin.  People search requires unique investments in structured data, relationship information, search intelligence, and personalized relevance.  (If you’re curious, the Boolean Black Belt got a sneak peak at some upcoming features).

I just wanted to take a moment to say kudos to the entire search team for this tremendous achievement that cuts across all areas – product, design, research, web development, engineering, marketing & operations.

Twitter integration, Open developer program, Faceted Search.  What a great way to launch into the holidays.

Can’t wait for January :)

Quicken 2007: How to Repair A Broken File

Only a long time Quicken user will empathize with the trauma of having your Quicken data file fail to open.  It happened to me this weekend, and after a couple days of experiments, I finally solved the problem.  I’m posting this here on the blog because my Google searches on the topic turned up *nothing*, and the Intuit boards were useless on this topic.

First, background:

  • I’m using Quicken 2007 for the Mac, updated with the R2 updater and the R3 Certificate updater.  This is the most recent version.
  • I’ve used Quicken since 1994 to keep track of my expenses and investments.  That’s right, this file has 15 years of meticulous data in it.
  • Quicken for the Mac users at some level are masochists.  Circa-2000, Intuit decided that the Mac market wasn’t worth supporting, and effectively ended support for the product.  As Steve Jobs brought the Mac back, Intuit brought back support… but very little enhancement to the product.  Quicken 2007 is largely the same as the Quicken 1999 product, except far more rickety and long in the tooth.

OK, so here’s the story:

  1. About 3-5 weeks ago, when downloading stock quotes, I got a very strange error.  It said something like “Unable to create INTC. Security already exists.”  (Of course it exists, I’ve been tracking INTC for more than 10 years…)
  2. About 2 weeks ago, I quit and relaunched Quicken for some reason (my machine tends to stay up for weeks at a time.)  On relaunch, all of my “manually entered” stock quotes were gone.  After a brief panic, I restored a file from Time Machine from a week prior, and all was forgotten.
  3. Periodically, I received that error when downloading stock quotes.
  4. On Friday, I restarted Quicken and got a spinning beach ball.  I thought it hung, so I force quit it, and restarted.  Spinning beach ball.
  5. No worries, right?  I have multiple backups.  I use Time Machine to get an older file.  I launch. Spinning beach ball.
  6. Uh oh. Mild panic.  I tweet.  No one tweets back.
  7. I go to the “Quicken Backup Folder”, which is created automatically in your Documents folder.  I select several of the backups, duplicate them, and try to launch them.
  8. Good news, the file from November 12 actually works, but all security prices are missing.
  9. Bad news, it’s missing two weeks of data!  A lot of manual re-entry of the last two weeks.  Not too bad though.
  10. On Saturday, I quit Quicken and relaunch as part of a reboot.  Spinning beach ball.
  11. Uh oh. Time Machine backups don’t work.  I tried five of them from the last three weeks.
  12. Double Uh Oh. The only file that seems to work is that one from November 12.  But it gives me an error “Unable to save security”.  It works, but is missing all security prices. But it’s missing the two weeks of transactions.
  13. A bit of panic here. I search Intuit boards.  No luck.  I post a question anyway, even though the community on the boards gives me no confidence of ability to help or desire to do so.
  14. I delete Quicken 2007 and all preference files, and try to reinstall + updaters.  No luck.
  15. Tweets return nothing, except strange semi-taunts like, “I hate Quicken too.”
  16. Finally, I realize I may have to create a new file, then export/import all the transactions to create a new clean file.  Creating the file works.  Trying to export QIF and reimport into the new file leaves totally bizarre numbers and transactions.  Seriously, has QIF export ever worked in the past two decades?  Will it ever work?
  17. Desperation.  I start seriously contemplating doing all my finances in Mint… except Mint doesn’t actually support managing accounts without online access that well.  I like Mint, but I use it differently than Quicken…
  18. Hail Mary. The Quicken file isn’t really a file, it’s a Mac OS Package.  It’s a fancy name for a directory of files that is tagged to act like a single file for the Finder.  Looking inside, I find a data file for “Quotes” and a directory for “Quotes Details”.  I delete both.
  19. Salvation.  I launch Quicken.  No beach ball.  Works beautifully.   All stock quotes are gone, but a quick click to download quotes fixes that.  I manually re-enter the few securities that don’t have ticker symbols.  Everything is wonderful again.

So, just to capture some trouble-shooting for you, here is what I saw:

  • Launching Quicken with the corrupted file led to a spinning beach ball for over 30 minutes
  • When it did finally load, it gave me an error “Unable to open file”
  • There was a history of getting errors related to the downloaded stock quotes for securities

Solution was:

  • Make a duplicate of your Quicken file (always, always have a clean backup)
  • Right-click (or control-click) on the Quicken file.
  • Select “Show Package Contents…” from the Finder.
  • Double-Click on the “Contents Folder”
  • Select the “Quotes” file and the “Quotes Details” folder
  • Drag them to the trash, and empty trash
  • Relaunch Quicken with the file

Thus, I am still a Quicken user, at least for a little while longer.  Intuit, if you are reading, please get Quicken 2010 (which has been promised for two years) out the door.  And make sure the import from Quicken 2007 files is *flawless*.

LinkedIn for IBM Lotus Notes is Live

Kudos to the team.  LinkedIn for IBM Lotus Notes is now in beta.

LinkedIn Blog: LinkedIn Widget for IBM Lotus Notes Now Available

Quote from Ed Brill, Director of Product for Lotus Notes at IBM:

This week, IBM and LinkedIn are announcing the availability of the LinkedIn plug-in for Lotus Notes.  This easy to use add-in dynamically displays LinkedIn profile, status, and other information in the Notes 8 sidebar.  The new plug-in is a great example of “contextual collaboration” — where users access relevant information without having to leave behind what they are already working on.

Special kudos to the LinkedIn LED Team, and to Elliot Shmukler for this big win.

In fact, the only thing I find a tad disappointing is the lack of a new Elliot blooper reel for this launch.  As a consolation, I’ll link to the old one from 2008 here.

Stanford CS193P: iPhone Application Programming Launches Tomorrow

A little too busy tonight for a long blog post, but thought I’d share how excited I am to be helping assist the launch of a new course at Stanford this Fall:

CS 193P: iPhone Application Programming

The class website is still a work in progress, but it will come along.  The course is open to Stanford undergrad and graduate students, as well as through the Stanford Center for Professional Development (SCPD) on video.  Enrollment is limited, and my guess is that it will be oversubscribed.

A wonderful opportunity for me to dust off the old Objective-C skills, and help give back to the Stanford community.  Launching new courses is always exciting, and I feel very lucky to be involved with this one in particular.

It might sound crazy to take this on in addition to the full load at both work and at home, but I’m excited to get back involved with teaching, and that’s worth the potential sleep deprivation for the quarter.

The Limits of Quantum Computers by Scott Aaronson

I had a business trip to Boston this past week, which means I got a lot of good reading hours in on the plane ride across the country.  As a result, expect to see some intellectually inspired posts this week.

Tonight, I’m going to start off with an easy one – the most recent issue of Scientific American.  It is a great issue.

Actually, three of the articles were blog worthy.  Tonight, I’m going to highlight the great piece by Scott Aaronson called “The Limits of Quantum Computers“.

Here is a synopsis, from the top of the article:

  • Quantum computers would exploit the strange rules of quantum mechanics to process information in ways that are impossible on a standard computer.
  • They would solve certain specific problems, such as factoring integers, dramatically faster than we know how to solve them with today’s computers, but analysis suggests that for most problems quantum computers would surpass conventional ones only slightly.
  • Exotic alterations to the known laws of physics would allow construction of computers that could solve large classes of hard problems efficiently. But those alterations seem implausible. In the real world, perhaps the impossibility of efficiently solving these problems should be taken as a basic physical principle.

Nah, I don’t think that does it justice.

I’ve been following Quantum Computing off-and-on since the mid-1990s.  I took my first Automata & Complexity course at Stanford (CS 154, from Rajeev Motwani) back in 1995.  One of the truly mind-opening courses in the Computer Science undergrad.  Recognizing that there are mathematical frameworks to not just solve problems, but to describe their complexity is fascinating.

Quantum Computing is fascinating because it takes advantage of the truly strange physics of entanglement, a state in Quantum Mechanics where particles can share a matching, but unknown, fate.  A separate branch of algorithmic mathematics has sprung up around analyzing what types of problems, if any, would be simpler to solve on the basis of a computer that leveraged these “Quantum Bits” or QuBits, for short.  At the same time, molecular scientists have struggled to make progress building very small quantum computers.

To date, there are a small number of algorithms that Quantum Computers have been proven to be able to solve significantly more efficiently than traditional computers.  Interestingly, most of them revolve around factoring, which happens to be the one area that we base most of our security algorithms around.  It turns out that factoring a very large number into two primes is very difficult for normal computers, but very easy for quantum computers.

I don’t think I can summarize an 8-page detailed article here, but let’s just say that in this short article, Aaronson manages to:

  • Give a high level overview of basic complexity theory
  • Give a background on what Quantum Computing is, generally
  • Give a background on what makes Quantum Computing different, algorithmically
  • Give examples of the types of problems that QC will significantly improve
  • Give examples of the types of problems that QC will not significantly improve
  • Give interesting mathematical & physics implications of QC algorithmic theory
  • Intersperse the above with incredibly useful diagrams and drawings

Here is my favorite chart in the article – a simple one that maps the changes that quantum computing introduce in the world of algorithmic complexity:

And that’s just one of the sidebars!  :)   It’s interesting to note that, after scanning this, I discover from Scott’s blog that he had to fight to get that diagram included!

The complexity class inclusion diagram on page 67 was a key concession I did win. (Apparently some editors felt a Venn diagram with P, NP, BQP, and PSPACE would be way too complicated, even for readers who regularly gobble down heaping helpings of M-theory.) As you can imagine, exposing people to this stuff seemed pretty important to me: this is apparently the first time P, NP, and NP-completeness have been explained at any length in Scientific American since articles by Knuth and by Lewis and Papadimitriou in the 1970’s.

Much appreciated, Scott.

Scott Aaronson has his own blog:
http://www.scottaaronson.com/blog

and he also runs an online encyclopedia for complexity classes:
http://www.complexityzoo.com

And to think, I was just at MIT and missed the chance to meet him. :)

The article is not yet fully online, but if you have a chance, I highly recommend picking up a copy of the issue.  Scott has posted an early draft of his article, in PDF, here.  Or better yet, subscribe.  It really is the one scientific magazine to subscribe to if you want to keep up-to-date on a broad range of scientific discovery.

Mozilla Firefox 3 Beta 3: First Impressions

Got to be careful what I say here.  Mike Schroepfer might be reading. :)

Actually, I was reading his blog when I found out that Firefox 3 Beta 3 is out.  You can download it here.

I’m playing the naive user for now… just installed it and using it, without reading up on the specifics of the new features.  I’m trying to see what I actually notice without any prep.

First thing… it’s FAST.  Much faster than Firefox 2.  And much much more stable with lots of tabs left open, although I need to give this a bit of a test through the weekend.

One of my biggest problems with Firefox 2 has been based on my particular usage habits.  I tend to open a lot of web pages in tabs, and leave them open for days (or weeks), as reminders to either read the pages or blog about them (or both).  What I’ve noticed is that once I get a large number of open tabs (20+), Firefox starts lagging my entire machine.  I don’t have the fastest machine in the world (PowerMac G5, Dual 2.5Ghz, 2.5GB RAM), but I’m pretty sure it should be able to display 20+ webpages at one time. :)

Anyway, everything is faster with Firefox 3.  My eBay loads faster.  SYI 3 loads faster.  WordPress.com loads faster.  Email links that open URLs in Firefox open faster.  And when I launch with a dozen or more tabs, it feels much more stable, not locking up nearly the way that Firefox 2 did.

I’m noticing on Mac OS X (10.5) that the controls look a little goofy.  The small controls used on eBay now come out as Mac-like round buttons, but the font is off-center.  Also, the drop-down menus actually have their text one pixel below the end of the menu control.

This is stuff I’m sure that’ll get fixed by final release.

We’re obviously going to have get busy updating our LinkedIn toolbar – Firefox 3 informed me the current version isn’t compatible.  I use that toolbar every day, so I’m going to have to make sure that gets fixed.  :)   In fact, none of my toolbars were verified to work with Firefox 3, which is probably a good thing since I don’t use most of them anymore anyway.

I’ve been very happy with Firefox vs. Safari since I switched about two years ago.  I was debating whether Safari 3 and the rise of the iPhone meant I would eventually have to switch back to Safari as my primary browser.

It’s not final, but my first few hours on Firefox 3 has left me fairly confident that Mozilla will continue to be my browser provider of choice for the foreseeable future.

You know, I just realized that Mozilla’s success making a great web browser for the Mac proves the lie in Microsoft’s excuses for abandoning the platform.   Firefox proves:

  1. That a great web browser can be built as a stand-alone application, not as a component of the OS.
  2. That a great web browser can be built on the Mac by a company other than Apple.

These were, of course, the two nominal reasons that Microsoft gave back in 2002 for dropping Internet Explorer on the Mac.

As Apple market share continues to grow, and the concept of an all-Windows workplace fades, I have to wonder – will Microsoft ever reconsider providing IE as a cross-platform browser again?   Even if the Mac has a low (5%) market share, that doesn’t mean only 5% of companies will have Macs deployed.  It could turn out that a vast majority of companies end up with a minority share of Macs in-house.  Does Microsoft really want to cede the cross-platform web application market to Mozilla?

Somehow, I doubt this is being seriously considered in Redmond.  But it’s definitely interesting in the face of a resurgent Mac platform and a cross-platform Firefox & Safari.  Internet Explorer for the iPhone, anyone?

Electronic Warfare: Israel’s Syria Bombing Raid

I don’t normally post about military or political events here, but this this article had a specific technology angle to it, and I thought it was too interesting to ignore.

From Aviation Week:

Syrian President Bashar al-Assad said the Israelis struck a construction site at Tall al-Abyad just south of the Turkish border on Sept. 6. Press reports from the region say witnesses saw the Israeli aircraft approach from the Mediterranean Sea while others found unmarked drop tanks in Turkey near the border with Syria. Israeli defense officials admitted Oct. 2 that the Israeli Air Force made the raid.

blog post photo
The big mystery of the strike is how did the non-stealthy F-15s and F-16s get through the Syrian air defense radars without being detected? Some U.S. officials say they have the answer.

U.S. aerospace industry and retired military officials indicated today that a technology like the U.S.-developed “Suter” airborne network attack system developed by BAE Systems and integrated into U.S. unmanned aircraft by L-3 Communications was used by the Israelis. The system has been used or at least tested operationally in Iraq and Afghanistan over the last year.

The technology allows users to invade communications networks, see what enemy sensors see and even take over as systems administrator so sensors can be manipulated into positions so that approaching aircraft can’t be seen, they say. The process involves locating enemy emitters with great precision and then directing data streams into them that can include false targets and misleading messages algorithms that allow a number of activities including control.

A Kuwaiti newspaper wrote that “Russian experts are studying why the two state-of-the art Russian-built radar systems in Syria did not detect the Israeli jets entering Syrian territory. Iran reportedly has asked the same question, since it is buying the same systems and might have paid for the Syrian acquisitions.”

I find it a little surprising that your could commercialize an exploit like this.  I’ve done enough security software work to know that it’s not surprising that any system engineered in the last 50 years would have vulnerabilities.  Thanks to the ongoing wars over security on the Internet, in fact, our ability to “crack” into systems seems to be growing at a rapid pace.

That being said, when an exploit is discovered, typically a patch is quickly produced.  For example, if they find a serious exploit tomorrow in a common piece of networking equipment, like a Linksys home router, typically a software patch would be quickly released to block that exploit.

As a result, if an exploit like this existed in serious military systems, you’d think that a patch would be quickly released to block it.  The lead times to produce military systems in volume would seem to preclude commercializing an exploit the way this article describes.

Then again, I guess the exploit would have two things going for it:

1) The exploit would not be used frequently, making it hard for the enemy to “simulate” or understand the exploit well enough to produce a patch.

2) Not everyone keeps up-to-date with their security patches… do you?

It would be a fascinating turn of events if the next-generation military advantage did not depend on speed, munition strength, or even targeting & accuracy.  Instead, the real advantage could go to the force who could most rapidly disable and coopt enemy systems.

Intel demos USB 3.0 at 4.8 Gbps. Wow.

Not sure if this will play out in commercial production, but Intel demoed USB 3.0 at the Intel Developer Forum last week.

There is good coverage of the event and the specification here on CNET.

Intel is working fellow USB 3.0 Promoters Group members Microsoft, Hewlett-Packard, Texas Instruments, NEC and NXP Semiconductors to release the USB 3.0 specification in the first half of 2008, said Pat Gelsinger, general manager of Intel’s Digital Enterprise Group, in a speech here at the Intel Developer Forum.

In an interview after the speech, Gelsinger said there’s typically a one- to two-year lag between the release of the specification and the availability of the technology, so USB 3.0 products should likely arrive in 2009 or 2010. A prototype shown at the speech is working now, and USB 3.0 will have optical and copper connections “from day one,” he added.

The current USB 2.0 version has a top data-transfer rate of 480 megabits per second, so a tenfold increase would be 4.8 gigabits per second. Many devices don’t need that much capacity, but some can use more, including hard drives, flash card readers and optical drives such as DVD, Blu-ray and HD DVD. The fastest flash card readers today use IEEE 1394 “FireWire” connections that top out at 800 megabits per second.

In addition, USB 3.0 will offer greater energy efficiency, Gelsinger said. It will be backward compatible, so current USB 2.0 devices will be able to plug into USB 3.0 ports.

It took me a while to trust USB 2.0 for high speed peripherals like hard drives (versus IEEE 1394 Firewire), but my recent 500GB USB 2.0 external drives have converted me.  The key is to keep them on a dedicated bus, so that USB 1.x devices don’t slow them down.

At 4.8Gbps, I’ve got to wonder whether or not 10G Ethernet will be available in the home in 2 years.  If not, I could see actually preferring USB 3.0 to either eSATA or GigE for my multi-terabyte NAS.

We’ll see.  A lot can happen in 2+ years.

Getting Ready to Write an Apple Mail.app Plug-in for Mac OS X

Blowing some dust off the old compiler this weekend… after about 8 years, I’m actually getting ready to write some real client-side software again.  Just a personal project, for fun.

Nothing fancy, but I’ve decided to see if I can’t write some useful plug-ins for Mac OS X.  In particular, I’m going to see if I can’t improve:

  • Apple Address Book
  • Apple Mail

I tend to joke with friends that when I went to business school, part of the admissions process was officially “turning in” my compiler.  To show you how dated I am, the last serious Mac OS development I did was in Metrowerks Codewarrior.

Over my vacation in August, I went through Cocoa in a Nutshell from the O’Reilly series, just to refresh my memory.  Even when I was on the WebObjects team at Apple, I primarily wrote framework code in Java, not Objective-C, so basically I’ve got to come up to speed again on:

  • Objective-C
  • XCode 2.4
  • Five versions of Mac OS X (the version I worked on became 10.0)
  • Documented methods of extending Apple Address Book
  • Undocumented methods of extending Apple Mail

I managed this weekend to get a sample plug-in for Apple Address Book working.  This wasn’t a huge feat, really, since XCode includes a sample project for this as a default install, and it’s fairly trivial to customize the three Objective-C messages that define the functionality.

If you are looking for the documentation on extending Apple’s Mac OS X Address Book, check out:

Pretty basic really, although adding a contextual menu command for certain fields is hardly the best interface.  I’ve been playing with Plaxo Toolbar for Mac, and trying to figure out how they inserted their drawer into the GUI.

Creating plug-ins for Apple Mail is much trickier, because it’s completely not supported or documented.  Well, I shouldn’t say not supported… it’s not supported officially.  However, Apple Mail does implement a plug-in architecture, and with a few quick setting changes, you can install a wide range of third party plug-ins.

Here are some cool links if you are interested:

  • Demystifying Mail App Plugins.  This blog post covers some high level tips and source code, in Python, to write a quick Mail.app plugin.  Thanks to this post, I re-discovered class-dump, which lets you inspect the classes and methods for any Mac OS X application (very cool).
  • Mail Plugin Template 1.0. Aaron Harnly, you are my hero.  Aaron has posted an excellent XCode project template, with class-dump headers, for building your own Apple Mail plug-ins and installer scripts.  He even answered a simple project question for me over email.  Very cool.
  • CocoaDev.  This is a wiki site dedicated to Cocoa development.  Aaron’s code pointed me here, since it features “Method Swizzling”.  It’s a very sneaky feature of the Objective-C runtime, where you can effectively not only over-ride an method for an object you don’t own, but you can even replace the parent class method in applications that you don’t control!  Read this for specifics (very cool if you’re into programming).
  • Apple Mail Plug-Ins and Tools.  A whole directory site of Apple Mail plug-ins.
  • Apple Mail Plug-In Roundup.  This post on The Unofficial Apple Weblog covered a lot of cool Mail.app plugins.
  • Mail Act-On.  Very cool Mail.app plug-in that lets you map individual rules to keyboard commands.  My favorite Eudora feature, now on Mail.app

So far, I have an Apple Mail plug-in that compiles and loads correctly in Mail.app and logs data into the console.  But I’m going to put that in the “W” column for this weekend, given my incredible level of rust around the gears.

I’m going to be flying to Omaha this week to visit the LinkedIn customer service team… I’m going to try and use the flight time to get a little bit more working.

My biggest question now is how far can I go in terms of influencing the Mail.app UI.  I already know how to:

  • Create a plug-in
  • Insert menu commands and menus into the main application
  • Create my own preferences panel & preferences file
  • Create my own window

However, if I really want to integrate,  I need to figure out how to:

  • Add commands to existing contextual menus (I can’t find them in the NIB files anywhere)
  • Add views/panes to the existing windows (ala a toolbar)

I haven’t found sample code that does either of the above yet, but I’m still looking.

All in all, it’s fun to be compiling again.

Office 2.0 Conference & Social Computing Panel

For those of you in the city, I’ll be on a panel at the Office 2.0 conference at 1:30pm on Thursday, September 6th. The panel is on social computing, and will feature the following people:

Shiv has a post up already about the panel. I haven’t met any of the panelists before this conference, but I’m looking forward to it. You can find out more about the conference here, and more about the panel here (as it is posted). The full schedule is here.

Apple iPhone: Web Development Site is Now Live!

Apple hasn’t released an SDK for client application development for the iPhone, but they have launched a new website for developers interested in customizing their web-based applications for the iPhone.

Apple Developer Connection: iPhone

The site consists of a link to the beta download of Safari 3.0 for Windows & Mac.

The real detail, however, is in this mini-site for web specifications for development for the iPhone version of Safari – specifications for size, what is and isn’t supported, etc.

Very cool.  There may in fact be a halo-effect around websites that optimize for the iPhone.  Given the buzz around the device and the first true rich-browser experience on a mobile phone, there could be a mutually beneficial relationship between compelling web-applications customized for the iPhone and the iPhone itself.  After all, great applications will make the iPhone feel that much more compelling, and tailored experiences can make those applications the preference of the 700K and growing iPhone users.

Google Reader, Meet the Mac OS X Look & Feel

Now this one is a lot of fun…

I moved my blog reading from My Yahoo to Google Reader about 6 weeks ago.  It has been tough to adjust to the new habit – my instinct is to always go to My Yahoo.  But My Yahoo just wasn’t scaling for the number of blogs I like to keep tabs on (now over 100),  and I noticed that a majority of the people reading my blog were now using Google.

Thankfully, Firefox has made this easier.  The ability to quickly change the behavior of “adding a feed” to Google from My Yahoo made the transition simple for new feeds.

For exporting my old feeds from My Yahoo to Google, I found a nifty tip online on how to export an OPML file from My Yahoo and import into Google Reader.  Just spent a few minutes categorizing all my feeds, and I was ready to go.

Well, today I discovered a new trick.

This post shows you how to skin Google Reader using CSS to look like Mac OS X.  It’s really neat, although it’s a little weird that the author’s name is Adam Pash.

On Firefox, you basically want to go here and download Stylish.  Stylish is an add-on that lets you customize the CSS for any website.

Then, go here to download the Mac OS X theme for Google Reader.

Once you unzip, open the CSS in a text editor, and copy & paste it into Stylish.  On Mac OS X, I had to do this manually by opening the Add-Ons dialog, and open the Stylish preferences, but I got it to work.

It’s pretty neat, and I like the new look & feel of Google Reader.  It’s also pretty neat to see CSS as a form of “lightweight plug-in” for websites.  I’ve got to show this to some of the front-end folks on eBay Express – we use CSS heavily, and I bet you could come up with some pretty neat skins for the site using Stylish.

Amazon S3: Backbone to Cheap Multi-GB Web Backup for Mac OS X?

About a year ago, Amazon launched it’s S3 storage service.  This seemed a little strange to me at the time, because Amazon’s core business is as an online retailer… it was unclear to me what type of strategic advantage they would have as a long term of provider of cheap, online storage.

“Let a thousand flowers bloom,” I guess… (one of the most misunderstood quotations used around innovation, by the way.  Check out the source!)

In any case, I received my regular TidBITS digest email today, and it featured web-backup services for the Mac.  What was interesting was that the article featured primarily applications that use Amazon S3 as their backbone!  At $0.15 per GB, and $0.20 per GB/transfer, Amazon is a fairly cheap way to backup & store large libraries, like music & photos.

Several small software shops have built applications to help users do just that…

Here is the original TidBITS article.  The applications covered include:

  • Jungle Disk.   This application is the most polished of the bunch.  It does not handle incremental backups, yet, but it does support scheduled backups.  It will cost $20 when it reaches 1.0, but it’s free right now in beta.  Jungle Disk is available for Mac OS X, Windows & Linux.
  • S3 Backup.  This application, by Maluke, offers different named backups, as well as the ability to exclude files based on pattern matching.  However, it doesn’t offer scheduling or incremental backups, yet.  Still in beta.
  • Bandwagon.  This application is tailored for music lovers who want to backup and maintain a large music library online, to be available to multiple machines or for safe keeping.  Very interesting because it offers menu-bar controls, and support for multiple “storage clouds”, including Amazon S3.

I remember a few years ago looking into online backup solutions, and being totally disillusioned with the low storage volumes and costs offered.  I have about 300GB of content to backup, with daily increments that vary from 10MB all the way up to 2-3GB on days I upload a new set of photos from my camera.

These solutions aren’t there yet, but they are closer.  And the pricing is closer too.

Anyone out there actually try one of these?  Or are you using Amazon S3 for anything else interesting?

Follow

Get every new post delivered to your Inbox.

Join 4,075 other followers