Subscribe to feed
Blog | About

Archive for Apple

iPhone 3G vs. Windows Mobile 8125

I’ve been using a Cingular 8125 since 2005 as my cell phone. It runs Windows Mobile version 5.0 and this specific version is what I mean when I say ‘Windows Mobile’ or ‘WM’ for short. This post is more of a stream of thoughts specific to the iPhone with comparisons to the 8125 throughout.

The Old Phone

The 8125 was a pretty decent phone and my favorite features were the following:

  • The smartphone features in general (calendar, contacts, tasks, email). This was my first smartphone and I bought it for those features and used them heavily.
  • The Exchange synchronization through ActiveSync worked very well.
  • The ability to tether the phone to a laptop, I used this on several trips. It was EDGE and slow but it did work pretty reliably. I was able to make this work wirelessly over bluetooth with my MBP.
  • The slide out keyboard was really nice and I could thumb-type pretty dang fast with it.
  • PocketPuTTY is awesome and I used it a lot. Before PocketPuTTY there was some other SSH client that i’ve forgotten the name of that I used.
  • There is a lot of stuff you can install on WM to smooth over its rough edges (e.g. OperaMini is a big step up from IE)
  • It was a beast - an advantage and disadvantage. Very large to hold and store but also tough. It survived 3 truly hardcore drops with no damage aside from chips and scratches on its exterior.

It had a few annoying habits, the worst of which was it would often stop receiving calls. I wouldn’t realize it for a couple hours and then after a reboot (I had to reboot the thing a few times a week) I’d have a bunch of built up voice mail and missed calls. It was really aggravating but it seemed everyone with WM phones had the same general issues so I just worked with it and still found the phone quite useful overall.

The New Phone

A couple weeks ago the iPhone 3G came out and despite my inclination to avoid it for awhile I ended up giving in to peer pressure and ordering one a few days after release. I was out of contract, the 8125 was showing its age, and the combination of the more appropriate price (in line with WM and BB phones) and the new SDK and App store made me decide to give it a shot.

I’ve had the iPhone 3G in hand for 1.5 weeks now and thought I would offer my perception of the device compared to a WM phone I used daily for 2.5 years.

First some shots of the devices next to each other. From top/bottom they are actually pretty similar in size but the iPhone is about half as thick as the 8125. Not a huge surprise given the age of the 8125 but the newer iterations of that phone aren’t especially smaller (looked at all the smart phones at AT&T while waiting for my turn to activate).


iPhone 3G vs 8125


iPhone 3G vs 8125

The Good

There are a lot of things I like about the iPhone 3G but my favorites by far are the following:

  • The Exchange synchronization is flawless and actually better than WM. I haven’t received a single sync error which was a common occurrence for me with WM. Email setup in general is trivially easy.
  • The email/calendar/contact/browser applications are better, easier to use, and more stable.
  • The touch screen works really well and the whole phone feels utterly usable. Stuff makes sense.
  • The App store and installation/update process is wonderfully effortless.
  • I love the visual voice mail. You can see who has left messages, call them back, listen to them individually, or delete the messages without having to dial your voicemail and listen in serial.

There are a lot of additional small touches that I appreciate like the conversational display of SMS messages, the way the phone senses when you pull it away from your ear so you can hit ‘end call’ without having to wake it up (had to do this for every call with WM), the way meeting alerts look and work, the physical mute toggle that works even when the phone is locked, the consistent usage of the home button (instead of having to hit ‘ok’ a dozen times in WM) and much more. The general usability of the device makes me use the data plan. With the old phone I felt like it was more of a thing to use in an emergency or pinch but now I find myself using Safari, writing emails (as opposed to just reading them with WM), and everything else constantly. It’s just easier.

There isn’t a good way to manage tasks in the iPhone 3G by default but that’s okay because nothing can beat Remember the Milk and the RtM iPhone web interface is really fantastic. Speaking of applications, there are a lot of really great ones available in the new App Store and a lot of the best ones are free. Some of the best I have tried include:

  • The Mocha VNC and Telnet clients work great.
  • WeatherBug is great. Provides watches/warnings for your location, radar, and more detail than the built in weather app.
  • Yelp and Urbanspoon are pretty useful and like many of the apps make effective use of the GPS.
  • In terms of games Aurora Feint and Tap Tap Revenge are very polished and fun.

There are a ton of solid apps available - the above is just a small sample of the good, free ones. I am currently using several bookmarked web applications as well and for the most part you can’t even tell you’re using a non-native application. These include RtM (already mentioned for tasks), Google Reader, Google Talk, and an iPhone optimized Wikipedia.

One more neutral (though generally positive) impression I have is towards the keyboard. I am not as fast as I was with that 8125 slide out keyboard yet but it is getting better. I’ve found that though individual key accuracy isn’t very high the auto-correction that comes in behind as you type works surprising well. If you trust it to make corrections you can work back up to near buttonized speed though I suspect it will never be as fast. One very nice touch is that the bottom keys of the keyboard change depending on your input. If typing an email the @ symbol is a key and if typing a URL ‘.com’ is one key. That’s a really nice touch and combined with the shortcut of hitting ’space’ twice inputting a period followed by space I don’t have to switch modes on the keyboard as often as I did with the WM phone.

The Bad

The iPhone isn’t without negatives.

  • I’ve had it crash/restart 3 times.
  • A lot of the Apps are trash (thankful for the reviews in the App Store) or have costs when they should be free.
  • There isn’t yet an SSH terminal supporting an interactive command line and terminal emulation (though one appears to be coming in the near future)
  • There isn’t an official way to tether the iPhone to your laptop. I did snag Netshare before Apple pulled it the second time and it works great (~650 kbps down, ~350 kbps up) but I won’t count it in general due to it no longer being available for download.

As a final point I am not a huge fan of the closed environment Apple has created but at the same time am willing to take it because the phone is so nice and the App Store is so large and easy to use. I just want my phone/PDA to work without having to fiddle and coax and the iPhone does a wondeful job of that. WM was really open but the process of putting stuff on your phone was completely irregular, disjointed, and time consuming. We will see how Apple’s approach works out in the long run as more mature applications are released. I already know of 3 applications they let reach the App store and then pulled (Netshare, BoxOffice(WTF?), and 3-Tuple). The first was against AT&T TOS, the last was a complete copy of another company’s board game Set but I have no idea why BoxOffice was pulled. It seems Apple should at the very least not screw up by letting applications through and then pulling them. If they are going to consistently miss the apps they want to block anyway why even have a review process?

The biggest negative to the iPhone 3G in my opinion is the battery life. It is not good. I unplug at 7am each morning and by the time I get home around 6:30pm I am at 10% power and seeing the warning and that’s using sensible screen brightness and allowing it to sleep quickly when not in use. My 8125 could last multiple days on occasion depending on usage while the iPhone needs far more frequent charges. You will need a car charger so factor that into the iPhone cost. If you happen to have an iPod accessory that charges iPods try that before buying something for the iPhone because it probably will at least charge. I have a Belkin FM transmitter for the iPod and though the tuner part doesn’t work it does deliver a charge to the iPhone.

Bottom Line

Overall the iPhone 3G has proved to be a huge step up from my old 8125 running Windows Mobile. It feels slightly more stable than WM and is very usable. I trust the email, contact, and calendar sync’ing completely while I distrusted it often with WM. Safari blows away both IE and OperaMini and I find myself following links in emails without hesitation and viewing web pages often because I have full confidence in being able to view sites effectively. The audio quality is very good. The App Store is awesome and I love having literally hundreds of useful applications available to install with 1 click and sync (and the apps are only going to get better as time goes on). The upgrade process for applications already installed is easy and effortless. Once a better SSH client shows up that last remaining advantage of WM in terms of applications (IMHO) will be gone. Finally, hopping on a wifi network is easy and transparent and when not on wifi the 3G speed is solid. The Atlanta area 3G coverage stretches out well past the perimeter, all the way to Hiram/Powder Springs, so I am never without it.

I’d recommend the iPhone 3G without hesitation to anyone looking for a cell phone in the smartphone category. I didn’t think I would like it as much as I do.

Comments

Mouse/Keyboard Decision and Review

We recently pulled the trigger on monitor upgrades for all developers at the office and I was faced with a tough decision to make.

Until this point, I was using just my 17″ (1920 x 1200) laptop and nothing else. I really like the Macbook Pro keyboard and additionally, though I realize I am in a minority on this, I love the condensed format of laptop keyboards. I also love trackpads.

My reason for this is I do not have to move my hands for anything. Once you get used to the layout of a laptop keyboard I actually think you can move faster and you don’t have to move your hands at all to hit any key or any shortcut. Now if you are an accountant or similar or working with numbers all of the time then sure, a number pad probably makes sense, but otherwise it is wasted space. I can bang out numbers at almost full typing speed (~110 wpm) using the bar along the top and I don’t have to move my right hand over to a number pad.

Similarly, I love the trackpad because I don’t have to move at all to reach for a mouse. I’ve gotten to where I can use my thumbs for almost everything trackpad-wise.

So I had this new monitor and I didn’t want to dual screen (I use spaces which doesn’t play very nice with multiple screens). This meant either don’t use the monitor (which wasn’t an option after I gave it is test run) or buy a mouse and keyboard.

I ended up forking over some cash for the following:


Wireless Keyboard


Wireless Mighty Mouse

Yeah they are expensive but even though I rag on Apple stability sometimes I still love their stuff and these have turned out to be an excellent keyboard and mouse. Now my impressions of both.

The Keyboard

This took me a bit to get used to because the keys, unlike the MBP, don’t run flush into one another. There is a strip of aluminum between them and at first I was striking that aluminum a lot when typing at full speed. I like it now that I have adjusted to switching between those keyboards though. I bought this one not for the bluetooth but because the layout is identical in almost every way to the MBP keyboard layout. The keys feel very good and though I wasn’t looking for bluetooth it does work very well. This keyboard just looks cool too - no wires, super tiny, and it feels well made.

The Mighty Mouse

This is probably the best mouse I have ever used. It again looks very cool, all flush and smooth but that isn’t the important part. It gives you right, middle, and left clicking though you wouldn’t know that by just looking at it. You can also program the side buttons to do something when squeezed. The trackball lets you scroll vertically and horizontally with ease (this was a big reason why I got this mouse - I love the trackpad scrolling in all directions on the MBP and would have missed that functionality big time). It again has no wires, the bluetooth works perfectly and at surprisingly long range. I have used it to control while watching movies on the laptop (Netflix’s video player is actually pretty nice). Finally, this mouse is very precise and it also feels very well made. This thing is awesome. The 2 devices are very small so I can keep the mouse really close to the keyboard and don’t have to reach too much for it.

So the new mouse and keyboard work pretty well but I still believe my ideal setup would be essentially a MBP with no screen and the base of it wired up to send keyboard/mouse signals to another machine. Or if I could detach the screen temporarily when using the larger monitor. If anyone knows if either of these is possible please let me know :)

Comments

Stability Not Leopard’s Strength

OSX Leopard has a lot of stability problems, but I suspect many people are like me in that they aren’t enough to drive me to another platform for development. Apple has got me as a user for the foreseeable future despite the aggravations. So I wanted to share two tricks that have helped me keep my machine going without reboots. I like to tote my mbp back and forth just sleeping it. It works most of the time. Sometimes it does not and these are the three problems I have seen. Having the laptop hooked up to a monitor/mouse/keyboard and disconnecting them at the end of the day seems to make these issues much more frequent.

Machine does not come out of sleep.

This has only happened to me a couple times but I know it happens more often for others. The only solution that I know of is to press and hold the power button and shut it down. Anyone found a solution for this? It seems to be a pretty common problem on Leopard from reading the Apple forums.

Desktop icons become invisible or stop working.

This happens all the time to me. The Desktop seems dead and won’t let you click it or see any icons but if you open up Finder and browse to the Desktop everything shows up normally. To “fix” this shut down finder by doing sudo killall Finder from the command line. It will restart itself after a few seconds and things will be back to normal. Might as well be restarting explorer with the Windows Task Manager :)

Spaces/Dock/Expose/Active Corners malfunctions

These things can get pretty messed up. Active corners will stop working, or hotkeys will stop working, or animations/transitions will go away (making the usability pretty awkward), or a combination of these things. To fix this do sudo killall Dock from the command line. Once again a lot like restarting core stuff in Windows. This also seems to fix a problem I have where clicking links within other applications like Apple Mail stops automatically opening them in Firefox.

Snow Leopard is supposed to bring loads of stability and footprint improvements so perhaps this will fix some of the problem. I’ll show Apple how much I get aggravated by Leopard stability by, I guess, spending money on the next version of their operating system…

Comments (2)

Zimbra Anticipation and Exchange Hatred

I have mentioned it in passing before, but almost every server associated with our company is running Linux (and Mac has managed to take over the workstations surprisingly fast - only 2 windows machines being used now). The last hold out on the server side was the Exchange server we setup when we first got an office that for obvious reasons had to be running Windows Server 2003. This was the same server I had the raid fun with.

Finally, after a year+ now of me hating Exchange solo, the requests and general feeling of the office has shifted against it across development AND sales and the migration to Zimbra is scheduled to be completed next week. I couldn’t be happier about it. Among many things I am most looking forward to administering a Linux machine, having a better web client (that doesn’t change by browser), and Apple iSync support. I am also looking forward to the Blackberry support which despite my unwanted but nontrivial experience with Windows servers I absolutely could not make work with Exchange.

To properly send Exchange on its way I thought I would enumerate some of the many reasons I hate it :)

  • It runs on Windows. Windows is decent for a workstation but makes for an awful server in my opinion. Perhaps it comes down to experience, but I feel that the Windows approach to server administration (meaning hundreds of obscure windows, tabs, and buttons) requires more effort to learn, involves completely unnecessary abstractions over known technology, and makes everything you need to do take longer. They are unstable, require reboots to update (wtf?), and you have to use remote desktop to administer them. Enough about Windows as a server in general, back to Exchange.
  • There is no reasonable method for setting up a catch all. Read this page if you need to do it and prepare to be disgusted.
  • There is no reasonable method for forwarding email. How did they mess this one up so badly? It seems that the ability to setup an email forward would be a core feature of server software designed to send and receive email. To do this you have to create a dummy contact with the forward email, then create an exchange user account (with a different name and username else there is a collision), then configure that exchange user account to forward its mail to the dummy contact record, which will then cause the email to be forwarded to the final destination. Completely ridiculous as it bloats the active directory listing with loads of dead entries and takes too many steps to setup.
  • I have had a lot of trouble with Exchange’s SMTP connectors where HTML emails headed towards external email accounts (via forwarding hack mentioned in previous bullet) back up in the queues for absolutely no reason and prevent messages from being delivered for hours sometimes.
  • It doesn’t support iSync as far as I know.
  • It doesn’t have spam filtering built in (it kind of does but it does an awful job in our experience).
  • The web client is pretty terrible, and if you try to access it with anything other than IE is takes a severe dive to awful. In the non-IE mode you can’t search, can’t create folders, can’t create rules, and it is genuinely unusable.

The only big strength Exchange offered, and the reason we used it to begin with, was the calendar synchronization and thankfully Zimbra has arrived to offer an alternative to the mess that is Exchange. Zimbra is now feature rich, stable, and validated by huge installations such as the one at Georgia Tech. The feedback and reviews are glowing and the documentation makes it clear that all the little things I hate about Exchange because they take too long or are too cludgy are quick command line or file editing steps.

I’ll post again once I have put some hours of usage in with some content that doesn’t mention Exchange once and instead talks about Zimbra. I think it is safe to say though that if you are starting a company just skip Exchange from the start. You can get hosted Zimbra just as you can hosted Exchange if you don’t want to manage your own server.

Comments (2)

Startup Technology Expenses

One aspect of a software startup that cannot be escaped is money must be spent on technology and development of technology. Whether this is a good or bad thing depends on if you ask the engineer or the accountant. My general rules of thumb are:

  • Purchases that help people do their jobs better or faster are worth paying for.
  • Before spending money on something look for an open source alternative that is cheap or free. Often you will find something better or only slightly inferior to the commercial item.
  • If you are going to spend money on something, the price-to-substance ratio is important.

And now a smattering of thoughts and plugs for each rule of thumb in the context of our company that is full of my personal opinions. I do realize that the earliest days of a startup largely must ignore most of this list. For example, when you don’t have an office yet (and everybody works from their homes) you don’t really worry about getting comfortable chairs, good machines, etc. for that office.

Purchases that help people work

  • Screen real estate is important. I used to think this meant 2 screens but have refined this to mean total resolution. With my macbook pro and spaces I went from using 2 computers and 3 monitors to just 1 laptop and I feel more efficient now. I like to give 2 monitors to any person that wants one - especially engineers, designers, and QA.
  • Good chairs are worth paying for. I’ve worked places in the past that gave their engineers hand me down garage sale garbage to sit on. The nature of a software company means people are going to spend a lot of time sitting and the chairs need to be good enough that people don’t notice them all day (and often longer given the nature of startups). Aerons are great if you can get a deal on them but there are solid options in the $200 - $300. CWC sells better quality furniture at the best price.
  • Don’t skimp on workstation hardware. I personally think the mac path is worth the premium for developers. On a per-item basis the price is virtually equivalent but given Dell’s willingness to haggle and price slash (especially if buying multiple items) a premium does remain. I think it is worth it.

Open Source

  • We use Java and I think it is better than .NET and it is free. You can build it on Windows/Linux/Mac and you can deploy it to all 3 as well. I think PostgreSQL is better than SQL Server (and MySQL). The Microsoft lock in has never made any sense to me and I feel the Java community is a great place in that the number of unqualified engineers is relatively small and it is full of extremely qualified people. Java also scales vertically or horizontally very, very well. It has the whole 10,000 frameworks/libraries to choose from “problem” that .NET does not have but that is okay in my opinion. We went with Spring/Hibernate/DWR and it has worked out great.
  • PostgreSQL is fantastic. The developers are accessible and helpful and the community is strong. We’ve run it up to a 1TB database and it handles it just fine. You obviously have to run it on a reasonable machine as load increases but it scales vertically wonderfully and there are addons for replication. Check out Slony and/or Mammoth Replicator if you need that replication, we haven’t yet. Visit this site for installing Postgres on your local mac workstation.
  • Linux is the way to go for servers. I don’t think the Linux/Dell combo can be beaten on the server side.

Price-to-Substance Ratio - Some Examples

  • IntelliJ IDEA is worth its cost. It is magical and exceeds a plugin-ridden eclipse install for features out of the box and I think the editing experience and source control interaction are superior.
  • Despite stability issues I think the Leopard incremental upgrade to OSX was worth it for productivity overall. Spotlight and Spaces have changed my workflow completely.
  • Dell provides a fantastic ratio here. I would strongly recommend them for server hardware, especially their latest models. Solid architecture, solid raid controllers, RAM, etc. If you go with Dell get in sync with a Small Business team. It will save you money and streamline the process as you get to talk to the same people every time. Their business lines of laptop (Latitude) and desktops (Optiplex) are also solid.
  • Good consultants and contractors are worth their rates for focused, time-constrained assistance. You have to be careful though because there are a large number of unqualified people posing as consultants and contractors that aren’t worth the time it takes to arrange a contract. If you find somebody you can work with and does a good job keep using them as needed.
  • Parallels is worth its very manageable price for providing IE6/IE7 testing to mac-using developers. See this post for help setting up the free VMs provided by Microsoft for doing this testing.
  • FlexBuilder isn’t worth the cost. When I used it a long while back it was $700+ with charting and had marginally more functionality than notepad2. Following that link, it looks like they are pumping Flex 3 now. The fact that Flex 2 has profound issues makes this especially troublesome.
  • Flex Data Services pricing defies all reasoning. $20k per CPU. Same for pretty much any other product that charges per-CPU. If anyone knows of ANY per-CPU product that is worth paying for let me know. I recently priced out a better WYSIWYG editor for portions of our product and they wanted pricing per CPU for a text editor.
  • And finally, I think sharp, qualfied engineers that you can interact with in person in the US are superior to any offshore team. When you consider the time differences, communication barriers, and general lack of quality offshore I believe a 5 man team of people that know what they are doing and work together here could out perform a 50 man team of offshore cube farm drones. I have 3 specific experiences (admittedly not that many) working with offshore teams. 2 ended in utter failure to complete the task, and 1 was bailed out of before it got too far along because even the onshore PM/BA assigned were completely clueless and ineffective. I feel like the offshoring development companies live in an alternative universe where you just keep a neutral look on your face through meetings and shuffle out inferior product making fixes until the customer is too frustrated, tired, or so accustomed to the low quality that they start to believe the software is good and consider the project a “success.”

So there you have a smattering of my thoughts. I expect to elaborate on many of these items in separate posts in the future. You can likely tell by the tones which items I find most interesting and/or alarming.

Comments (2)

Case sensitivity is hard - for companies like Adobe

Sometimes the ability of Adobe to anger me blows my mind. I’ve never appreciated any of the Macromedia side of things (feel free to review early posts on this blog for specific, tangible opinions on Flex). Everything they make is overpriced and riddled with bugs. I believe the company is 70% management, 25% compensated evangelists, and 5% developers. My impression as an end user is they have a handful of hardcore, excellent engineers trying to support the bloated weight present in the rest of the company.

Photoshop at least was useful, and though just as expensive as the rest was at least feature-rich and relatively stable (compared with the total garbage price-to-feature ratio present in Flex Builder or Dreamweaver).

I just tried to install Photoshop on my new macbook pro running Leopard with a case-sensitive formatted hard drive. Case-insensitive volumes are stupid and I was delighted to have Leopard offer this option during installation.

However, it appears making their creative suite compatible with a case-sensitive format is beyond the capabilities of Adobe so they aren’t even going to try according to this blog. The particularly telling portion follows in this comment. The square-bracketed portion is Adobe’s response.


I was all set to purchase a copy of Photoshop CS3 today once I'd got the trial installed, but now I won't be buying because it won't work on case sensitive filesystems. What makes it particularly annoying is:

* It's a very silly restriction - OS X is UNIX, and UNIX filesystems are almost universally case sensitive
* It would be trivial to fix for a company with Adobe's resources
* Adobe could at least have the decency to include mention of it in the system requirements!

[If it were trivial, we would have addressed this limitation already. Everything is a trade-off. After Apple introduced this feature/capability/whathaveyou, we had a choice: should we put resources into building/testing for both case-sensitive & case-insensitive environments, or should we put that effort elsewhere? So far, lacking a case for the user benefit provided by case sensitivity, we've chosen to invest elsewhere. --J.]

So basically making an application case-sensitive is beyond the capabilities of Adobe. I find this hard to believe given that there are posts like this one easily findable with google where people have made it run on just such a volume. I am also a little bit angry about my macbook at this point as well. I guess I assumed with all of the developer evangelism for the mac platform that their file system had always been case-sensitive.

I personally am not up to jumping through the hoop, my macbook is now Adobe free aside from the Firefox flashplayer which I admit there is no viable alternative for. I realize this may not be an option for Designers who depend on the creative suite but for my admittedly non-power-user purposes Seashore is fine. That open source, free project somehow managed to conquer the sheer difficulty of executing a program on a case-sensitive volume.

Comments (2)