Archive for the Category Apple

 
 

iTunes Genius, Tricky like a Fox

Well, thus far the iTunes “Genius” has quickly allowed me to fill some gaps in my music collection by finding some obscure tracks that I did not know existed without me having to lift a finger.   It was a win-win for me and Apple, I got to listen to some new cool music, and Apple got to take even more of my $$$.
But alas, the Genius ain’t so smart.  On three separate occasions I have now purchased tracks that the Genius said I was missing, only to realize I actually owned the song.  It is a little hard to keep track of the thousands of songs I own in my head, and I have mistakenly trusted the Genius when it says I am missing those tracks.
The biggest benefit I see to Genius is that it is a time-saver and reduces the friction for me to find music that interests me and at the same time reduces the friction between my bank account and Apples ;) .  But, if I have to go validate each Genius recommendation by doing a manual search (on the same song title) each time, it completely undermines the benefit and REALLY makes it for an annoying experience.  
Now I am stuck in the unenviable position of having to go figure out where I purchased music I already own and then struggle with the abysmal “refund”  UX in iTunes to get my money back.   So far, I have purchased about $30 of music via iTunes Genius, of which about $10 was music I already owned.  The cost for me to get my $10 back will easily be $100 of my time.   So not only did Apple abscond with my $10, they make the friction to get it back very high.
Way to go Apple, excellent customer experience.
Update 9/24/2008:
So now Apple is denying my request to get a refund claiming I have asked for too many “I already own this” refunds (3 in total.)  Pretty incredible, this year alone I have spent over $10,000 on apple products (all consumer level) and they are getting their backs up over a measly $3 that was a result of their bug.
Apple in 3 years == Microsoft. C’mon guys, get with the program.

3G iPhone appears to be thicker not thinner.

Is it me, or Apple?  The recently (a few hours ago) announced 3G iPhone was stated to be thinner version of the current model.  But a close look at the tech specs on the Apple store site indicate that it is actually .48 inches (12.3mm) thick while the previous version was only .46 (11.6mm) thick.

The difference in the new iPhone design is that the edges appear to be more sculpted like a Mac Book Air, thus the phone probably “feels” thinner, when in reality it is thicker.

Steve Jobs would cringe – Apple Wireless Keyboard Add-On

When I purchased my Mac Pro, I had an option of which keyboard I wanted, I ordered the wireless keyboard, knowing how small it was, and thinking it would be next to useless for coding, but perfect for a family Mac-Mini.  Well, I actually kind of like the keyboard, the key-throw is good, I can type fast and it is really light/elegant.  BUT, it is pretty diminutive, and so light that when I use it in my regular seated position (feet elevated on desk, very reclined in my chair) with the keyboard on my lap, it kept slipping down.  I found myself unconsciously holding it in place with my left thumb so it wouldn’t slide down.  Typically with large keyboards, the pad of my palm would rest against the bottom keeping it in place.

So I devised a super high-tech holder custom designed for the Apple Wireless Keyboard. It is very lightweight fits perfectly and made from bio-degradable earth friendly materials.  See the photos below.  It works perfectly, the keyboard is now secure in my lap and very comfortable.   Perhaps when this one wears out I will create one out of a nice piece of lucite :)


Update:

My v1 keyboard holder ended up becoming a little “floppy” after 2 weeks of use, so I created a new one out of PVC/Sheet.  Other than a slight mishap with the router in my haste to replace the more organic version, it worked out fine.  A little hook-and-loop tape allows me to mount and remove the keyboard with ease.  The size is perfect for typing in my lap.


Should Apple purchase Adobe?

I am sure I am not the only one who has posed this question, I know there was lots of conjecture about this a couple of years ago.   But I think the argument is even stronger today.   It appears that Apple is really trying to take advantage of the fiasco that is Windows Vista and is pushing new PC buyers to make the jump to Apple (hey it worked on me)  But, Apple is going to have a tougher going with the developer crowd and the corporate culture.  If Apple ever hopes to jump the chasm and become an integral part of the enterprise they are going to have offer compelling reasons for developers to jump ship as well and write software for Apple.  Right now the only compelling reason for developers to make the switch and write software for Apple is because they become so enthralled with the Apple experience that they want to be part of it (once again, I am guilty as charged) or they are specifically targeting OS X or the iPhone for their offering.
But, as motivated as I am to develop the next great iPhone/OS X app, each and every time I put forth an earnest effort to do so I am struck by how antiquated the development tools, languages, and platforms feel to me.  For a corporate developer who just needs to get the job done and could care less about how sexy something looks/feels they will have even less impetus to make the jump.   One thing that Microsoft did extremely well, although not so much any more, was to practically spoon feed developers with their technologies. It was SOOO easy to pick up a MS technology, not necessarily because they were the best technologies, but because MS invested heavily in providing training materials, live events, practically giving away their software via MSDN, etc.   Now, I see the open source movements doing a better job of this with the robust communities and communication infrastructures that have developed as a result of the internet.
So here I sit at a cross-roads, do I invest the time to develop an application that is specific to Apple either via Objective-C/XCode or via proprietary AJAX for Safari extended WebKit?   Well, either choice seem like several steps backwards from where I am right now.  Currently I develop in Adobe Flex, and while the tooling can stand room for improvement, it is still far ahead of XCode.  But where Flex really shines is the combination of the language and the design patterns it easily supports in combination with the power and ubiquity of the Flash player.  Having to go back and write AJAX code and deal with browser compatibility issues and the lack of robust profiling/tracing tools is just painful.  Once you know how much better it can be, having to go back and use tooling/languages that you were using 8 years ago just hurts.  The XCode/Objective-C road does not appear any better.  Damn Flex and Adobe, if I never went down this path I wouldn’t know any better, and I would be happily struggling with AJAX, HTML5, and excited that I now have a Canvas HTML element that has a graphics context I could draw to. 
 
Okay, back to my original theme for this post, why should Apple purchase Adobe?  If for nothing else, Flash and Flex.  If Apple controlled Flash they could easily put it on the iPhone and still force their lock-in for flash-enabled iPhone apps having to be distributed via their AppStore.  With ActionScript, Flash, and AIR in their back pocket, what they have is  universal development platform that would open the doors to a much wider developer audience. Because a developer knows when they are targeting Flash/AIR they are not only targeting Apple but pretty much any OS/Client.  In the words of Bob Warfield, the friction is greatly reduced. It would also put Apple on practically EVERY desktop because Flash sits on every desktop.   Similar to the logic I used in purchasing a Mac Pro, where I knew worse case I could run Windows natively (but have yet to do so) I would be able to develop for the iPhone/Apple knowing that my application would also work anywhere elese.  Even better, instead of having to learn the ins-and-outs of a new language based on an old development paradigm I would either leverage the knowledge I already have (if I knew Flex) or be investing my time in learning something new, but more powerful and more efficient.
 
But, wait, there is more to this argument outside of my myopic developer/engineer perspective.   Apple is really pushing to deliver software to creative folks, albeit more at the hobby level, but nonetheless what company has the best and most established creative software?  Adobe!!!  If Apple wants to position themselves as the company that creates the hardware, software and distribution channels for creative content (music, video, multi-media, etc.) why not also control and offer the tools to create such content… it would go a long way to reducing the friction in some of these marketplaces, where the creative authors can seamlessly distribute their works via the Apple channel.  This would allow them to target all strata of their verticals that they want to sell into, and these offerings create a self-reinforcing viral effect. This said, I am not sure how comfortable I am with a company like Apple holding such a dominant position in the market based on their historically closed nature.
And this is where I come to why I think it might not work, and that is due to cultural issues between the two companies.  Adobe has been making GREAT strides to become a much more transparent and open company, they are investing heavily in contributing open source code and really seem to be figuring out how to be a good corporate citizen while still turning a profit.  Apple, not so much.  They seem to still cling the old-school closed source mindset, where everything is shrouded in secrecy and tightly controlled.  This does have its advantages, but long term I don’t think it will benefit them.  So what happens when a company like Apple acquires a company like Adobe with the differences in their respective cultures?  I don’t think it would be a very pretty picture and could have the potential to destroy Adobe and the value they bring to the table.  But from a purely mercenary/capitalistic view I think it would still be in Apple’s best interest to do so.
From looking at the Yahoo finance stats today, here are some metrics for both companies.   It would seem with Apple’s cash on hand they have enough resources to make something like this happen (they have almost as much cash on hand as Microsoft) if they were motivated to do so.  
Apple:
Market Cap: $148B
Annual Sales (2007): $24B
Total Cash: $18B
Adobe:
Market Cap: $19B
Annual Sales (2007): $3.1B
Total Cash: $1.57B

Mac Pro 8-core and Leopard Week 1:

It has been almost a week now after my transition off a wintel machine onto my new heavily loaded Mac Pro.  Like so many others before me, and the millions who will follow after me, it has been an epiphany.

I have been a hard-core windows guy for the past 15 years, just devouring everything Microsoft.  I am/was deeply intimate with almost all of Microsoft’s software offerings from their (anti)productivity suites in their Office Tools to their back end server stacks like Exchange, SQL Server, Biz-Talk, Commerce Server, IIS, GreatPlains/Dynamics, Sharepoint and more.  I also exclusively developed in MS frameworks like VB (from years ago), C# etc..  all designing and developing business applications.    I was one of three Principals at a medium sized local MS Gold Partner consulting shop in charge of delivering multi-million dollar custom MS applications leveraging technologies in the above mentioned stacks.   A few years ago I slowly started to drift away from MS, the first material separation occurred when I adopted Adobe Flex as the primary development technology for my new startup and was just shocked with the refreshing change of the “open” community nature that Adobe adopted in its beta.

Now a couple of years later, with Apple making it almost impossible to ignore their presence with their adoption on Intel chipsets and the ability to run Windows side-by-side with OS X I made the leap.  What is amazing, is that leap is a more like a short step, the effort involved to make the switch is getting smaller and smaller.   I can’t say enough good things about the quality of the Apple hardware itself, the 8-core is a dream, and even more importantly OS X feels like what a computer is supposed to feel like in 2008.   Spotlight (OS X’s universal search tool) is just so easy… you have a thought like “where is file XXX” and you just type “XXX” into spotlight and there it is.   No more waiting several minutes while Windows search agonizingly moves through your non-indexed files at a snails pace (although  I am not sure how fair that is since I was not using an 8-core processor with 14GB of RAM on my wintel box.)    Lots and lots of little things are just so much more seamless and intuitive with OS X.   

This is not to say it is all roses, there are little things here and there that I miss from Windows, but overall the experience is such that you feel like you can forgive OS X for its shortcomings, while you want to blame Windows for theirs.  To Microsoft’s credit they still have a few amazing products that I have mentioned before, like Visual Studio and SQL Server 2005.  Microsoft also has the very unenviable challenge of trying to support an OS that is 20+ years old and has successfully maintained backward compatibility on a ever shifting hardware platform that has to support billions of permutations of hardware configurations.   Apple on the other hand got a fresh start with OS X and they completely control the hardware platform, which is a much easier proposition.  It will be interesting to see how Apple is able to successfully avoid the bloat that will come with time as their adoption rates increase and the need to support backward compatibility becomes more prevalent.

So my message to any windows users considering the switch to Apple is to go for it, you will not regret it in the slightest.  The only issues I have found thus far is that GoToMeeting requires Windows to host meetings, and QuickBooks online has tied themselves to ActiveX technology via Internet Explorer.  For both of these I simply run VMWare fusion, although I will probably migrate to Adobe Connect for meetings, and I am hopeful Inuit will release a Flex client for QuickBooks sometime in the near future with their QuickBase announcement.

The Cult of Apple

Help, I think I have become addicted …. to Apple.

This weekend, while out with my wife (sans the kids), I made my SECOND trip in 2 days to the local Apple Retail Store. I left the store about $500 lighter after picking up a bright pink Nano for my wife and an Apple TV (at $229 how can you resist??) At this point I can just feel myself getting inexorably sucked into the vortex of quality, attention to detail, and desire that Apple has come to embody in most of its products. It started a couple of years ago with my MacBook purchase that was simply used to make it easier for me to test our website within safari. This was followed up a few months ago with an iPhone purchase, under the auspices of keeping up to speed on current UI and usability trends in the industry. Now my addiction to apple … I mean research … has me buying iPods like candy and buying devices I didn’t know I had a need for. Next up is replacing my aging P4 with a brand new Mac Pro 8-core with some serious memory (12GB should do.) After buying the iPhone I was truly hooked… there is something about the products Apple produces that creates this incredible emotional desire for “more of that” (at least for tech people like me.) I commented to my wife that the desire I have for Apple products is quite similar to what I witnessed in her when we walked into the Louis Vuitton store and my wife was ogling a pair of $1,200 shoes. It is really an admirable and amazing feat that Apple has pulled off, by focusing on quality and attention to detail at every level from product design, implementation, to even the jewel like packaging materials, they have created a desire for their products that I have not experienced with any other technology outside of the lust people feel for cars like BMW, etc. Apple doesn’t get it right all the time though. On OS X I still can’t understand their fascination with spawning windows like rabbits in heat, and on a much more trivial note the shopping bag that the Apple Genius put my purchase into required an instruction book to figure out how to carry. It was this weird contraption with two separate ropes going through a total of four riveted holes in the bag… I wasn’t sure if it wanted to be a knapsack, hammock, or some weird S&M device… Walking through the mall I constantly found myself trying to figure out how to hold the damn thing properly… I think they got a little too clever for themselves on that one.

Okay, back to my addiction…. Yesterday I plugged in the Apple TV to our widescreen HDTV in our bedroom, within 10 minutes I had our modest iTunes collection of about 3k songs and our photo library of about 2.5k pictures streaming from it. So last night my wife and I sat down to “rent” a movie, I was a little disheartened to see that once we started watching it we only had 24 hours to finish it… I wrongly assumed it was “ours” for 30 days. That issue aside, we never even got to the movie… We became so fascinated with watching the slideshow of our photos and listening to music. It was an amazing experience for me… we had about 7 years of photos from before our wedding, various trips to Tahiti, Hawaii, coast of California, the birth of our two sons, etc… It was just amazing to watch and recall. It gave me a whole new appreciation for taking photos, as I was completely engrossed and entertained. It gave my wife and I an opportunity to reminiscence and connect at a level that so far eclipsed just watching a movie together. After a couple of hours I ended up knocking off and going to sleep. This morning I found out my wife stayed up past midnight watching our slide show.. Now I am not sure how entertaining this experience would be after seeing these photos for the umpteenth time, but I can tell you it was a real eye opener for me in terms of its intrinsic entertainment value. When we finally get around to watching the movie we rented and delving into some of the other features of the Apple TV I will report back.

- Tom

iPhone Developer Program Take 3

Well it looks like i have been accepted into the iPhone SDK beta developer program.. I must say that thus far the experience has been far more like a Microsoft Beta than anything else, where you are made to feel privileged to have been accepted after jumping through a corporate bureaucracy.

I am not sure how widespread the program is now, potentially they are allowing everyone in. What was odd though, is that last week I got an email requesting faxed copies of my articles of incorporation for BrightPoint Consulting (the company I registered under) which I faxed over. Just a few moments ago (a week later) I receive an email telling me that upon signing the license agreement and forking over my $99 I would be enrolled. I promptly did both, and now I am an “official” iPhone developer. I find it odd that it required such a manual process… I would assume this is pretty manually intensive if they are having humans read and correlate faxes to each developer account.

Last week I downloaded the latest bits from the second release of the iPhone SDK beta. I see that Interface Builder is now included, which is supposed to be the “magic sauce” for creating UI’ s in Cocoa applications. But as I had thought, it still requires quite a bit of work to set up an application. The good news is that it appears that there is finally some documentation on the JavasScript DOM api for touch/gesture events. I planned on exploring that a bit further when I could carve out some time.

I will post again when I receive the SDK if there are additional resources provided outside of what everyone else see, and if my sharing does not violate some license EULA.

Why I won’t be writing native iPhone apps anytime soon.

Here is why I won’t be writing native iPhone Applications: (at least not yet)

After spending about 40+ hours with the new iPhone SDK, getting up to speed on Objective-C (which is kinda cool) and modifying a few sample apps with XCode I have come to realize that while Apple makes amazing consumer products and interfaces, they fall completely short of the mark when it comes to developer tooling interfaces. Perhaps it is because I do NOT come from the land of Unix (well okay I used Unix in University, but that was over 20 years ago) and I am not a huge proponent of the command line and I prefer nice comfortable IDE’s like Visual Studio or Eclipse that I don’t see the magic here.

Just watch the video above to witness what kind of gyrations, both in code and UI, you need to go through to wire up a button to make a beeping noise. Windows popping up all over, connecting objects from one window to another with visual lines… opaque NIB files, etc. I am sure compared to command line C++ development this might seem like a godsend, but for someone who has spent the last 2 years developing almost exclusively with Adobe Flex, this seems like a step back into the stone ages. While I am not a huge fan of Microsoft, Visual Studio really sets the bar for a highly productive and functional IDE, Eclipse is getting better and almost there. When it comes to programming languages to create expressive and immersive UI’s there is no beating flex.

I am so eager to develop immersive multi-touch applications on such an amazing device as the iPhone that I have seriously considered investing the 90 days or so I think it would take to develop a modicum of proficiency on new tooling (XCode) and language (Objective-C). But when I look at how pleasurable the experience of developing with these tools would be it looks like it would be trying to go surfing on a huge 100lb redwood board versus the 6lb epoxy short boards I prefer. While I would still be catching waves, things would feel so ponderous and slow. I thought that perhaps I am just missing it, and I needed to shift my mental paradigm to a different one so I would “get-it”. After watching the video above, I am not sure that I am missing anything.

Obviously an ideal dev platform for me would be having the iPhone support Flash with Multi-touch so I could develop in flex, but I don’t see that happening anytime soon. Especially considering the restrictions in the SDK. The one nuggets I did find in doing my research was that one of the SDK videos talked about the Javascript extensions they were building and the new CSS standards they were supporting. Some of the glimpses I got were:

  • Gesture support via Javascript (gestureStart, gestureEnd…)
  • CSS Animations
  • Transitions
  • Full SVG support and drawing (although not sure if that is restricted to markup or can be dynamic.)
  • Javascript access to SQLite !!! (this is huge in my mind as it could really allow online/offline apps)

The challenge I have though is that I can’t find ANY documentation to support those javascript API’s. I am thinking that perhaps creating web-apps with these javascript API’s will afford me the ability to use more productive tooling and get the same great features. I just need to figure out how/if the SDK will allow us to support web apps running in an offline state, and if it will be possible to sell web-apps via the AppStore.

iPhone SDK first impressions

Well, I am pretty impressed with the level of effort that went into this SDK. I am on day four of just looking around, and I have yet to write a single line of code, which is very uncharacteristic of me.

The SDK is pretty polished, with custom graphics, and a deep set of well put together videos (available via Apple Developer Connection) free on iTunes. The videos were a great way to get a lay of the land.

Other than starting to get my mind around Objective C after spending the last two plus years immersed in Adobe Flex feels like a bit of a step backwards. I am not super fond of the C/C++ structures and coding paradigms, as they feel like I am having to do a bunch of unnecessary work at lower levels of abstraction that is needed. Having to deal with memory allocations and stuff like that is a bit of PIA, but perhaps it is just because I have been working in higher level languages for so long.

One interesting bit I ran across in the videos is that they have extended the javascript API for Web Kit to support the handling of multi-touch getsure events like gesturestart, gestureend, and gesturechange. But I have been unable to find any other documented API references to this, and in loading up Dashcode (their web IDE for the iPhone) I could not get any more info.

Learning the iPhone SDK

I thought it might be interesting to chronicle my learning of the iPhone SDK and building native apps for the iPhone.  I suspect that many engineers like myself will be coming from different development platforms and might find some value in learning from someone else’s trials and tribulations of learning how do program for an iPhone.   

Never having programmed for the MAC before this will be a completely new experience.   At this point I don’t even own an iPhone, but I see it opening up new markets, distribution channels, and most of all a new way for humans to interact with computer (smart) devices.  For these reasons I wanted to try my hand at creating a native iPhone app.   

Step 1 was downloading the SDK, which was a 2 day exercise in itself, due to glitches at the dev center site at Apple.
After downloading the SDK, I did something I rarely do, and this is start reading the docs.  Usually I just dive in, fire up an IDE and start trying to bang out an application.  In this case since, I have never programmed in objective C nor worked with the Xcode IDE I thought I would start at a higher level.
More to come if my interest does not wane and it appears that these type of posts provide value to others.