← Home Subscribe Replies Archive Reading Also on Micro.blog
  • The End of Netbooks

    The Guardian

    Sayonara, netbooks. The end of 2012 marks the end of the manufacture of the diddy machines that were - for a time - the Great White Hope of the PC market.

    What does this mean for Google’s Chrome OS? Wasn’t it being made explicitly for netbooks?

    (Via Daring Fireball)

    → 11:58 PM, Dec 31
  • Omni's Plans for 2013

    The Omni Group:

    With "iPad or Bust!" out of the way, we've been able to move some of our projects off the back burner and here are some highlights of what's coming: OmniFocus 2. OmniOutliner 4. Automatic document syncing. Sandboxing. Accessibility. Visio and Microsoft Project compatibility in our iPad apps. Upgrade pricing from Mac App Store apps.

    Holy cow that’s a lot.

    → 1:32 AM, Dec 24
  • Holiday Expense Tracking With Numbers

    This year as I buy presents for the people closest to me, I’ve decided that I need to keep track of what I’m buying, how much I’ve spent and for who. There’s a couple of tools I could have used for this, OmniOutliner is a great fit for this kind of thing, and even plain text files could have worked OK, but ultimately a Numbers spreadsheet is the perfect place for keeping track of this information.

    The columns I’m using to keep track of my purchases are: Purchased Date, Item, From, For, Confirmation #, Delivered and Price. One of the features I like best about Numbers is being able to right click any of the columns and select “Categorize by This Column”, which breaks the table up based on by any category I like such as who I’ve bought what for, or where I’ve purchased what from.

    I find myself gravitating towards using the iWork apps whenever I can due to iCloud working so well with them. It’s like entering an alternate dimension where everything we were promised with iCloud has mostly come true.

    → 1:36 AM, Dec 22
  • Dropping iOS 5

    One of the changes that I made in Pinbook 1.2 was to supporting iOS 5. I started working on Pinbook before iOS 6 was released, so I decided to try and support both. For example: on top of using UIActivityViewController for sharing, or UIRefreshControl for pull to refresh, I also implemented UI that people on iOS 5 would see. It seemed like a good idea at the time, but as I went forward I started to realize how much of my code was just there to support the older OS.

    I wanted to take it out support for three reasons. First, I knew I was going to be adding iPad support and that the first generation iPad could not run iOS 6. Anyone else running Pinbook on iOS 5 would be able to upgrade, but if I started supporting these other users and then dropped support in a future version there were going to be some people who got left out and couldn’t do anything about it. The second reason is that since I don’t run iOS 5 on any of my primary devices and I’m a one man shop, that version of the app was never going to be as well tested. Lastly, it was adding more code to the app than needed to be there and I didn’t like that.

    The potential negatives of dropping support were that I’d have a vocal group of pissed off iOS 5 users, or that sales would go down. Thankfully, neither of these happened. I’ve received no complaints, and sales have been better for this version. Dropping iOS 5 also let me lower the total amount of code in the app by about 8 percent.

    → 10:55 PM, Dec 19
  • The New Instagram

    If — like the rest of the web — you were shocked and appalled by the changes to Instagram’s terms of service yesterday, I’d like to point out that Flickr has recently released a pretty good new version of their iPhone app, and that if the push notifications to my phone any indication, a lot of people are trying it out right now. As a bonus they’ll even let you pay them — which is great if you’re sick of companies who ask for nothing and then take everything.

    Personally I wasn’t so worried by Instagram’s changes, but already wanted to try Flickr as a replacement when I saw their new app, so the timing just kind of works out.

    → 7:35 AM, Dec 18
  • Rate iTunes Tracks With Keyboard Maestro

    Gabe shows us how to rate iTunes tracks using Keyboard Maestro. I really need to check out Keyboard Maestro now.

    → 9:57 PM, Dec 16
  • The Pinboard Co-Prosperity Cloud

    Maciej Cegłowski is starting an incubator:

    How is this different from other incubators? Participants receive almost no money, and are expected to do everything themselves, making them vastly better prepared to succeed in business.

    → 8:46 PM, Dec 16
  • Great New OmniFocus Perspective Icons

    An awesome new set of OmniFocus perspective icons by Icons and Coffee that you can purchase for only $4.99. I’ve already bought a copy and will now spend the rest of the day avoiding actual work playing with these.

    → 1:29 PM, Dec 13
  • A Couple of Songs From Last Night

    Spencer and I recorded two songs last night, and I thought I'd share them. They were both recorded live using an Apogee Mic, so any difference in levels is just how far away we were each standing from the microphone. The first song is called When I Go by a band called Slow Club, and the other is titled When U Love Somebody and is by a band called Fruit Bats. I hope you like them.

    → 2:39 PM, Dec 5
  • Fantastical for iPhone

    I’ve just moved “Calendar” off of my home screen and replaced it with Fantastical for iPhone. It’s great. You can get it in the App Store for $2.

    → 2:32 PM, Nov 29
  • Realmac On Designing For Retina

    I found this post on Realmac Software's blog about designing graphics for retina extremely useful.

    → 6:59 PM, Nov 24
  • The Statement You Make Matters

    Jesse Thorn on why the clothing you wear matters:

    Clothing is a way we represent ourselves to others. This self-representation couldn't be more significant. When you dress, you are making a statement; not a fashion statement, but a statement of identity. If you put on a jacket and tie, for example, you are signifying to others that you take the occasion seriously, whatever that occasion may be. If someone looks at you and interprets how you dress, they are not being superficial. They are reading the message that you wrote. If that message says, "I am to be respected," then they will respect you. The language of clothing is as complex as the spoken word, but ignorance of it is no excuse. Can one earn respect in other ways? Certainly, and one should. But that's no reason to open a conversation with someone by saying, without words, "this is not important to me."

    Taking pride in how you present yourself and doing so appropriately for the situation you're in isn't silly or vain, it's a declaration to others of the respect you have for yourself and the occasion. That doesn't mean overdressing - that can be just as silly as underdressing - it means there's value in having a sense for what's appropriate and cultivating personal style.

    → 2:24 PM, Nov 23
  • Tokens for Mac

    Tokens is a new Mac app that makes it easy to generate, share and track tokens for your App Store apps. Looks awesome, I'll definitely be using this.

    → 2:28 PM, Nov 21
  • Black Pixel on The Next Web

    Daniel Pasco and Michael Jurewitz Interviewed on The Next Web:

    When it came to Kaleidoscope, the company has a long list of features that they’d love to see in the app eventually. But, Jurewitz says, at some point you just have to get something out in front of the world so that you can discover how they’re using it. “So that you can make sure that you’re actually building something for your users,” he adds.

    I couldn't agree more.

    Everyone at Black Pixel has done such an incredible job getting Kaleidoscope to this point, as well as launching a stellar new site for their company.

    → 2:24 AM, Nov 21
  • All You Need to Know to Get the Best Shave

    The Wirecutter on Shaving:

    To make my picks, I spoke with experts who have been through every razor fad and tried every setup, including beard-trimmers. I then personally tested widely available non-disposable razors on the market.

    I’ve been shaving with a double edge safety razor for the past two years, and would recommend it to anyone. For a small amount of initial effort, you get to save a ton of money of blades, and get a better shave.

    My recommendations for a good setup are:

    • A Merkur safety razor.
    • A pack of Derby razor blades.
    • Proraso shaving cream.
    • A good shaving brush (there's a large price range for these).

    If you’re looking for a good introduction to how to actually shave using a setup like this, check out episode 4 of Put This On, which is all about grooming.

    → 8:45 PM, Nov 18
  • Elements 2.6

    Second Gear have released version 2.6 of the best text editor for iOS: Elements. The new file browser interface is great and the reliability of Dropbox syncing seems to have improved considerably as well. I can't imagine why anyone wouldn't already have this app, but if you don't I emphatically recommend going to The App Store and buying a copy right now.

    → 4:59 PM, Nov 13
  • Poster - A Wordpress Blog Editor

    I saw Poster on The App Store a couple of days ago, but just bought it once I saw it linked to on The Loop, and it's excellent. The styling I great, it has Markdown support, and my favorite feature is that it allows you to grab a post you've been working on in a different editor from Dropbox. This is exactly the app that I've been looking for.

    → 2:57 PM, Nov 12
  • The Generational Podcast

    I'm proud to be sponsoring this weeks episode of Generational with Gabe Weatherhead, which is all about research and materials.

    Generational is a great podcast, and Gabe's blog is also one of my favorites. I would subscribe to both if you haven't already.

    → 3:46 PM, Nov 10
  • There Is No Secret

    Jim Dalrymple:

    Over the past few years I have been asked by many new and established bloggers what the secret is to blogging successfully. In fact, I’ve been asked so many times that I started thinking about it quite a bit and I’ve come up with the answer.

    → 2:41 AM, Nov 9
  • Pinbook 1.1: Polish and Speed

    Pinbook 1.1 is out on the App Store now, so I thought I’d take a moment and go over a couple of the things that have changed in the new version.

    Enhancements

    This release is more about polish and getting things working even better, but I also managed to add some new features I think you’ll really like. There’s also preferences for disabling the automatic refresh and having new bookmarks be private by default.

    Faster Sync

    One of the things people really liked about 1.0 is that it could handle large accounts pretty quickly. I’m really excited to say that 1.1 is several times faster for both initial loading and subsequent syncing. My 20,000 bookmark test account does its initial load in about 40 seconds or so, and subsequent syncing (picking up changes from the website) takes just a few seconds. It’s hard to even notice it happening on my personal account.

    Improvements When Adding

    I made a couple of improvements to the adding interface that I really like. The first one is tag autocompletion when adding, and the other is a URL scheme bar that lets you switch between available options when adding a new bookmark.

    Tag Autocomplete Bar

    I really like this feature. One of the things that made Pinbook 1.0 a little hard for me to use was that when adding new bookmarks, I had to guess what I had called my tags (was it, “election2012, or election-2012”). Now when you type in the tags field, a bar will appear above the keyboard and suggest tags you’ve already used. Just tap one and it will get added. If you want to add a new tag, just type in. You can even go back and edit previous words in the field and Pinbook will do the right thing.

    Tag autocomplete bar

    URL Scheme Bar

    When you add a URL to Pinboard, you need to give it a URL scheme (http://, ftp://, etc). When typing in the URL field you’ll get a list with all of the options Pinboard supports and you can switch between them. If you also just paste or type in a complete URL with the scheme, Pinboard will figure that out and show the right one as being selected.

    URL scheme bar

    Polish

    In Pinbook 1.1 I’ve switched to using custom navigation/toolbar button images. One of the major inspirations for the overall aesthetic and design of Pinbook is the font Futura, and the slightly less than standard corner radius of the new bar buttons is meant to help evoke some of the same feeling. It’s really interesting to me how subtle changes like this can really affect the feel of something without drawing too much attention to the change itself.

    Bar Button Background

    Bug Fixes

    If you submitted a bug report for Pinbook 1.0, it should be fixed now. The two biggest ones I took care of are:

    • Some people’s passwords were not working when logging in. I emailed with the developer of Pinboard, and it turns out to be an API bug. As a workround, I give you an option to enter in your Pinboard authentication token directly, which can be gotten from your Pinboard settings page. It’s pretty easy, and there’s a post about it on the Pinboard blog.
    • The save button would sometimes not become enabled when adding a bookmark from the clipboard or through Pinbook's URL scheme.

    The Future

    I’m really happy with how this release came out, and really proud of what I was able to get into this release. I feel like I’ve got a great foundation, and I’m really excited about 1.2.

    → 8:55 PM, Nov 7
  • Archival Clothing Marled Knit Caps

    Archival Clothing Release — Marled Knit Caps:

    For the Fall, we're releasing our knit caps in soft, itchless, 100% marled cotton. These cozy hats are made on a 1920s-era circular knitting machine.

    Besides looking really cool, the best part is that they’re only $18. If you need to keep your head warm this winter, these look like an excellent choice. Archival Clothing makes awesome things. I already ordered one.

    → 9:12 PM, Nov 6
  • The First Comment on Hipstamatic's Time Magazine Post

    The cover of Time Magazine was shot using Hipstamatic — this is the first comment on their post about it:

    Thank heavens we've abandoned the whole ridiculous folderol of artists painstakingly using exquisite optics and refined engineering to create images of profound light, depth, color, and shadow to compel joy, pity, terror, and wonder, thereby evoking mystery. It was all just a plot to make Ordinary People doubt their Specialness and make them "feel bad" about themselves. Now that a grainy, flat representation of what might as well be dishpan soapsuds can be lauded as art, everyone can be a photographer! Take that, Ansel Adams! (He was fat, you know. Think of all those stupid people, worshipping pictures taken by some fat guy. And really, how many magazines did he sell?) Now that a journalist is anyone who can use a keyboard to phonetically represent a belch and the twee product used to create a photograph is more import than the image itself, anything is possible. Ours is truly an age of wonders.

    Wonderful.

    → 1:37 AM, Nov 5
  • The Five Stages of Hosting

    Pinboard Blog:

    As a proud VPS survivor, I thought it might be fun to write up five common options for hosting a web business, ranked in decreasing order of 'cloudiness'. People who aren't interested in this kind of minutia would be wise to pull the rip cord right here.

    This is a very helpful article for those of us who might be thinking about developing a small web back end for our own apps at some point.

    → 2:35 PM, Nov 2
  • Pushing the Boundaries

    Justin Williams:

    Apple has fostered an environment where we can produce high quality games and applications that enhance the iPhone and iPad in so many ways. It is The Show where companies are focusing their design attention and pushing the boundaries of what is possible in this new medium of touch-based mobile devices. Third-party developers take their leads from Apple who has always been a company that sweats the details and ensures every pixel was placed with thought. Google and Microsoft just discovered design during the Obama administration.

    I really enjoyed this post. Insightful as always.

    → 12:30 AM, Oct 31
  • A Massive Speed Difference in iPhone Core Data

    Samuel Goodwin:

    It was brought to my attention last night by my good friend, Collin Donnell, that using a fetch request to grab objects based on their objectID’s was much slower than simply using a for loop and the NSManagedObjectContext method -existingObjectWithID:error: to grab each object one by one. My initial response was supreme disbelief. How could this be true? I needed a break today from my pile of work to do, so I thought I would investigate and see what’s up.

    → 2:55 PM, Oct 19
  • Send Links From Your App to Pinbook With ALBPinbookActivity

    If you're an iOS developer and want to easily add Pinboard support for users with Pinbook installed, you can now do that using an open source class I've created called ALBPinbookActivity. In one or two lines of code you can have “Send to Pinbook” appear in your UIActivityViewController (sharing sheet) and pre-fill any information you want (title, tags, etc). The Pinbook option will only appear for users who have Pinbook installed. You can get ALBPinbookActivity on GitHub. If you end up using it in your app, make sure to let me know.

    SendToPinbook

    → 2:44 PM, Oct 18
  • One or Two Primary Attributes

    John Gruber talking about a smaller iPad:

    When designing anything, you pick one or two primary attributes and you compromise on everything else.

    This pretty much echoes part of what I was trying to get across in my post yesterday in regard to picking features. For software it's about understanding what the nucleus of the idea is, what you need to do to get that across, and letting go of everything else that distracts from it.

    → 2:24 PM, Oct 18
  • Release and Creation of Pinbook 1.0

    I’m unbelievably excited to be officially announcing the release of an app I’ve been working on for a while now: Pinbook. Pinbook came out late last Thursday while I was at the Çingleton conference in Montreal, and has gotten some attention and great feedback already, so this post is a little delayed. If you haven’t heard about it, Pinbook is a client for one the services I use the most: Pinboard. If you’re not familiar, Pinboard’s self description is a “a fast, no-nonsense bookmarking site,” and that’s very apt. It lets you save bookmarks online, assign tags to them and find them later. It also has an interesting pricing model based on a one time fee that I find really appealing.

    I use Pinboard all the time for saving links, but I’ve had trouble using as much as I’d like, because there hasn’t been a great way to use it from my iPhone. I’m unbelievably proud to say that as it stands, Pinbook is an app that I use every day and that lives on my home screen. If you’ve heard enough and want to go buy it in the App Store right now, I’m fully supportive of that instinct. But Pinbook has also been an outstanding chance to challenge myself in ways I never have before — so if you’d also like to hear about what went into making it, continue on.

    The Making of Pinbook 1.0

    For Pinbook 1.0, there was a lot I wanted to do with it, but I knew that I’d be better off focusing on a core set of features that make the app useful and allow me to build on it later by updating quickly. I also knew that even if I did try to build in every feature I had in mind, my potential users were going to have a thousand others I never considered. I decided the things that were most important to get right for 1.0 were:

    • A great interface.
    • Fast syncing.
    • Fast search.
    • Sharing to multiple services.

    I also had to leave some features for a future update, like editing of existing bookmarks, tag browsing and supporting more read later services. Based on the people who’ve used it I think I made good choices, and now that it’s out I can start addressing the things I didn’t get to in 1.0. I’m really happy that I didn’t limit myself early on by making choices I can’t easily take back. Good design is about saying no, and it’s about focusing on doing less things better instead of more things worse.

    Design and Aesthetics

    I like to think of myself as pretty picky user when it comes to app aesthetics, and I wanted Pinbook to look like something I would be excited to use. My goal was to make an app that someone who had never heard of Pinboard before would see, and want to get both. I carry around a Field Notes book in my back pocket, and it’s what I use to store little pieces of information during the day. I had this idea that Pinbook could sort of be like a little notebook you keep in your pocket for links, and that thought helped guide the aesthetic of the app. With that aesthetic inspiration in mind, I tried to think of it as if were approaching making an iOS app with the same sense of style, instead of in a skeumorphic sort of way. My answer was: really simple, but a little bit funky (in a good way).

    Around the time that I started working on Pinbook, my girlfriend was thrown off of her bike avoiding a car, and broke her arm in five places. The first sketches of what would become Pinbook were done while sitting by her hospital bed keeping her company. These came out looking something like this:

    PinbookFirstSketch The first few iterations I worked on didn’t involve any custom graphics, just tweaking colors using standard controls. I figured out a lot about the flow of things during this phase, and also which features didn’t really feel important.

    PinbookEarlyScreenshot

    Early on it became clear to me that I was going to need to start thinking about enhancing the visuals with graphics. I’ve never done that part myself before, but I decided to accept the challenge: it was time to start learning Photoshop. I’ve never understood the idea that everyone can or should only do one thing, and as I keep learning I’m determined to prove it wrong. The final look of 1.0 has come a long way, and I’m very proud of it.

    Bookmarks Screenshot 640

    The app icon itself also went through several iterations to finally land at a place I’m proud of. You might call it obsession, but to me it’s taking the time to get it right.

    PinbookIcon-1.png PinbookIcon 2 PinbookIcon 3 PinbookIcon 4 PinbookIcon 4 PinbookIcon 6 PinbookIcon 7 PinbookIcon 8 PinbookIcon 10 PinbookIcon 10 PinbookIcon 11 PinbookIcon 12 PinbookIcon 13 PinbookIcon 14 PinbookIcon 14 PinbookIcon 15 PinbookIcon 16 PinbookIcon 17 PinbookIcon 20

    Making it Fast

    There’s three words anyone who’s been around developers has heard: sync is hard. I actually think that hard is where it starts, and if the API you’re working with wasn’t made exactly for your use case, it’s actually a lot worse than that. In my case, to get what I wanted I was going to need to pull down all of the users bookmark info and figure out what had changed, been added or deleted, and sync it with what I had cached. Initially this didn’t seem like such a big issue, since I figured most people probably had a couple hundred bookmarks and it wouldn’t matter much. Instead, what I found out when I started looking for testers is that a lot of people actually had thousands or more. The app just wasn’t going to work this way, and if I was going to do it I needed a better plan.

    I thought about a solution for a while, and eventually what ended up working was something I’d heard talked about by my friend Brent Simmons: use the libXML streaming SAX parser to download and simultaneously parse chunks of data. If you’re not familiar, libXML is a low level C API, and not too much like what a Cocoa developer is generally used to. I’m lucky, however, in that I’m a little bit crazy and love diving into new things I’ve never done before. It took a while to get everything working right with the downloading, and also a lot of tuning to not slow things down too much with how I use Core Data. I’ve spent a lot of time in Instruments and looking at code, and the results are great. I’m also really surprised how much people notice it being fast and comment on it.

    I could write long posts about what went into making syncing and live search work for users with lots of bookmarks, but ultimately the point is that engineering is part of design. Pinbook could be the best looking app in the world, but if it didn’t work very well people would hate it and it wouldn’t matter.

    Conclusion

    Creating Pinbook has taught me a lot, and there’s lot more I could say about pricing, testing and other things. But right now I’m just so excited to work on future versions and to make sure it remains the best at what it does. If you’d like to try Pinbook for yourself, it’s available in the App Store.

    → 4:29 PM, Oct 17
  • HTC's Record Profit Drop

    Businessweek:

    HTC Corp. (2498), Asia’s second-largest smartphone maker, posted a record 79 percent drop in quarterly profit as competition from Samsung Electronics Co. and Apple Inc. (AAPL) drove down sales of the Taiwanese company’s devices.

    I keep wondering why HTC hasn’t been more successful with Android, since their devices look at least as appealing — or more, I think — as the ones Samsung is making.

    → 1:43 PM, Oct 8
  • Committed

    Justin William's new app is the kind of simple — insanely useful — idea that all developers wish we had more of. It's called “Committed,” and what it does is notify you (using Notification Center in Mountain Lion) whenever someone pushes commits to a GitHub repo you share. If you work on a lot of different projects sort of simultaneously like I do, there’s no excuse for not spending the $4.99 to buy it right now.

    → 1:24 PM, Oct 8
  • They Actually Said “Maptastic”

    Onavao:

    Onavo’s team of data experts set out to compare the data consumed by Apple Maps on iOS 6 to that of the Google-based iOS 5 Maps app. We compared a number of scenarios and investigated how both apps use data over the cellular network. The data we evaluated proved: Apple Maps is up to five times more data efficient than Google Maps.

    This means less battery usage, too. I feel pretty lucky to live in a place that's covered well by Apple Maps (as well as having good transit apps available). I'm interested, however, to see how it works when I go to Montreal in two weeks. If usage data is what it takes for mapping services to get better, I really don't have any idea how better Apple could have handled this situation rather than tearing the band-aid off and hoping for the best.

    (Via The Loop.)

    → 4:02 PM, Oct 1
  • Shameless

    Google Passes Microsoft’s Market Value as PC Loses to Web

    Google Inc. (GOOG) has surpassed Microsoft Corp. (MSFT) to become the world’s second-largest technology company as computing over the Internet reduces demand for software installed on desktop machines.

    Just another shameless example of companies copying Apple.

    → 3:50 PM, Oct 1
  • Recreating a Photograph With Flyover

    I couldn't do it exactly, because the building she took the photo would get in the way, but I managed to create a pretty close approximation of this photograph:

    New York Flyover

    → 3:46 PM, Oct 1
  • Subtle UI Changes in iOS 6

    Subtle UI changes in iOS 6 and the case for the blue status bar:

    The final subtle change in iOS 6 in this post is a challenge for you to find out yourself. Notice anything different in the featured image?

    He’s talking about the Settings icon. The changes I noticed are that the gears aren’t pointed, the positioning of them is slightly higher and I think they made some shadows a bit stronger. Jumped out at me as soon as I saw iOS 6.

    → 5:38 PM, Sep 27
  • The History Of The Scroll Bar

    The history of the scroll bar:
    Scroll Bars Through History

    Interesting — possibly meaningless — side note: the most significant changes I can spot are whenever Steve Jobs launched a new platform:

    • Macintosh (1984): Nearly all of the scrollbars for the next fifteen years look like this one. [1]
    • NeXTstep (1989): Introduced the bar resizing to reflect the amount of content.
    • iOS (2007): Introduced dissapearing scroll indicators, a version of which we now have on the Mac as well.

    1. The Apple Lisa’s scroll bars to me look like an unfinished the proto-version of what showed up on Macintosh.  ↩
    → 5:06 PM, Sep 27
  • Meeting a Troll

    Meeting a Troll:

    I received a parcel at my home address. Nothing unusual there - I get a lots of post. I ripped it open and there was a tupperware lunchbox inside full of ashes. There was a note included ‘Say hello to your relatives from Auschwitz’ I was physically sick.

    The insane story of a guy who was abused both on Twitter and in real life and how he ended up meeting the person who was targetting him.

    → 4:34 PM, Sep 25
  • On Supporting Taller Screens

    I was a bit surprised to have a non-developer ask me if it’s going to be hard to get my apps to work well on the iPhone 5’s slightly taller screen, and for tech writers to talk about the fear of screen introducing Android-style “fragmentation” issues to iOS because of it. The answer to will this cause problems when developing iPhone apps is no.

    iOS developers have all the exact same tools at their disposal for dealing with different screen sizes as Mac developers, and we’ve been dealing with different window sizes forever. In fact, it’s easier, because on the Mac the user can resize the window to pretty much anything they want and on iOS we have a maximum of three sizes we really need to worry about[1], both of which are easily testable.

    A lot of iPhone apps already can deal with at least two sizes (portrait and landscape[2]), and that most apps I use primarily consist of table views (lists) which will stretch automatically. Generally speaking, even badly coded iPhone apps are going to tend to be more flexible vertically since they probably use table views, and the system will handle show extra rows for them.

    In all of my apps, the only change I needed to make to support iPhone 5 was to add a new launch image for the taller screen size and submit an update.


    1. If you count retina there’s five sizes, but that’s mostly invisible to developers.  ↩

    2. Or as I call them, hotdog and hamburger.  ↩

    → 4:00 PM, Sep 19
  • Jetpack Temptation

    Fuck Jet Packs:

    We’re conditioned to think that more features are better. That “innovation” means “no one has ever seen this idea before”. That new ideas always win in the marketplace.

    I think it’s hard to look back and understand how few — if any — great things were conceived in a bubble. Something doesn’t have to be earth shattering to be world changing.

    (via Daring Fireball)

    → 1:21 PM, Sep 18
  • Love Means Never Having to Delete a Plist

    Horace Dediu, in an interview on Microsoft Surface:

    In contrast Apple sees the iPad as a new type of device that is used for things not directly related to PC style computing. In that sense the iPad competes with PC non-consumption. It means people may own both a PC and an iPad and some will own only an iPad. The iPad will expand the market while taking share from the PC. Windows tablets will try to hold the Windows share steady.

    I think it’s a hard concept for people who are comfortable with technology to understand how much different the iPad is. If you’ve never seen someone who’s never been able to make use a computer grab an iPad and start making art, reading news and keeping up with friends for the first time, it’s sort of amazing. I don’t think my mom could ever make heads or tails of PCs, but I bought her an iPad 2 the day it came out, and she’s used it every day since. If you haven’t seen or experienced that, the idea of an iPad being anything different than a PC, or that there was ever anything wrong with PCs (I mean that in the “personal computer” way), just isn’t going to compute.

    The place it becomes most obvious to me is whenever something stops working on my Mac in such a way that I need to edit a configuration file, or do something using Terminal. I think, “What does someone who’s not extremely good with computers do under these circumstances?” Accept it as broken? Try to get someone to fix it for them (Mac users at least have the Genius Bar)? Assume it’s their fault? With an iPad that just isn’t a concern most of the time. I’m not saying its perfect – we’ve got a long way to go – but no one who uses an iPad should ever need to worry about it “breaking” in the same myriad ways that PCs do all the time.

    Microsoft doesn’t see it that way, or they’re scared to.

    → 8:29 PM, Sep 4
  • Stupid Facts

    Dan Savage in Blogtown PDX:

    Instead of telling us the truth in plain English—you’re being lied to—they tell us that facts took beatings, that “factual shortcuts” were taken, that a statement may have been “factually challenged.” They make it sound like facts did something wrong.

    If someone says something verifiably false, the person who said it either knew and lied, or didn’t bother to find out before they spoke, and thinks that’s OK. That should concern you. I mean, people were willing to get on stage at the Republican National Convention last week and say, to a room full of people, things they had to know weren’t true. And people believe them. Or they apologize for them. The whole thing really disturbs me. If Democrats do the same thing, it will concern me just as much.

    → 2:15 AM, Sep 3
  • This Almost Makes OpenGL Sound Approachable

    Jacob Eiting on OpenGL and the GPU:

    For many programmers the GPU is a part of the system shrouded in mystery. A realm best left to heavyset bearded types who toil away in the deep recesses of the gaming industry. With all the abstraction on top of the GPU, all but a few programmers can live out their daily lives without so much as a thought about how the things they make are actually rendered. Living behind these abstractions is fine, until you reach a limit, usually one of performance. When reaching these limits it can be really helpful to have a basic understanding of the GPU.

    Maybe the best and most concise intro I’ve heard to understanding the terms that get thrown around when talking about graphics programming, and why you might want to know more about it.

    → 2:28 AM, Aug 30
  • Come See Me Play Music in Portland This Friday

    If you haven’t known me for long you might know this about me, but before I ever bought my first book to teach myself how to write software for my Mac, the thing that I’ve always been obsessed with is music. Writing it, performing it (I sing and play guitar, primarily), recording it: the whole thing. While running an app making and consulting business keeps me extremely busy most of the time, over the past couple of months I’ve decided to not let music take a backseat and to start performing and recording a lot more.

    This Friday (August 31st, 2012), I’ll be performing my first show at The Waypost in Portland Oregon (NE Fargo and Williams) at 8pm. I’ll be backed up on a few songs by the lovely Spencer Clark[1]. Besides appreciating the support, it’s also a good opportunity to meet local folks I don’t normally get to, since I’m sure there’ll be time after the show to hang out.


    1. If Spencer ends up being in every song, I may switch from “Collin Donnell” to using an actual band name. I may do that anyway, I already have one picked out that I think is pretty good. Also, I might feel like a jerk selling shirts with my name on them.  ↩

    → 2:36 PM, Aug 28
  • Identical Simmons's

    My two favorite Simmons — Brent and Michael — have started a podcast called Identical Cousins. I’ve subscribed.

    → 1:36 PM, Aug 28
  • Implementing Areas of Focus Using OmniFocus

    Something I struggled with when first trying to implement GTD was how to organize tasks and projects around the different parts of my life. Right now I have several top-level folders in OmniFocus organized into different “Areas of Focus,” based roughly on priority and general urgency. I happen to be using OmniFocus to do this, but the idea is actually pretty app-agnostic.

    • Routine
      • With sub-single task lists for things I need to do on a repeating basis. For me, they’re called “Personal,” “Business” and “System.” The first two are for things that relate to those parts of my life (e.g. “Invoice clients”), and “System” is for things that relate to keeping my actual task system running, like “Perform Weekly Review,” and “Process OmniFocus inbox.”
    • Personal
      • Any projects that are non-work related and don’t fall into one of my other areas (e.g. “Make dentist appointment,” “Get things from storage.”)
    • Business
      • Administrative tasks related to running my business and client projects.
      • There’s a subfolder called “Clients,” which has subfolders for each client where I keep projects related specifically to them.
    • Apps
      • Anything to do with my own apps.
    • Music
      • Anything relating to booking, performing and recording.
    • Travel
      • Anything related to travel — booking flights and hotels, things to do while I’m there) - — business related or not. Mostly for conferences (e.g. “Cingleton 2012”).
    • Miscellaneous (single task list)
      • Single tasks, a lot of things to look up, one-step errands, etc. I try to not let this get too long. Sometimes these turn into — or become a part of — a full blown project in one of the above areas.

    One thing I don’t do is let any projects live outside of this hierarchy at all. I’ve kind of waffled on whether this is necessary or not, but everything should relate to something, so I’ve stuck with it. Something that’s changed is, instead of having one top level “Miscellaneous” list, I used to have a single-task list inside each folder called “Single Actions,” but I stopped doing this since I wanted to stay away from keeping two many items in single action lists, and there didn’t seem to be any major benefit to doing it the other way.

    → 7:50 PM, Aug 26
  • A Chair About Running Glassboard

    I spend a potentially unhealthy amount of time thinking about and tweaking things like how I have OmniFocus set up, how I manage notes, Automator services to prefix timestamps to file names and what text editor I should use. Unfortunately, I have no one to share these “tips and tricks” with most of the time other than a one year old wiener dog who seems less than interested. From the blogs I read, I’m told that the time I spend thinking of these things is called “productivity”, and that a lot of other people have the same compulsion.

    I was thinking it would be cool if there was a slightly less public way for all of the productivity nerds out there to share and discuss ideas than posting publicly on the Internet, so I’ve created a Glassboard for anyone who’s interested. Since the point is for people to share their different workflows, it doesn’t matter if you use OmniFocus, Things, Reminders or napkins[1], so don’t be intimidated to join.

    I’ve decided to call it A Chair About Running, and you can join by going to Glassboard and using the invite code lorqq.


    1. Also, Napkins is an awesome name for a notes app. I’m going to need to remember it if I ever make one.  ↩
    → 6:09 PM, Aug 24
  • Good for Samsung

    Review of the Samsung Galaxy Note 10.1 on Android Police, “An Embarrassing, Lazy, Arrogant Money Grab”:

    The build quality. Terrible even by Samsung’s low standards. The back is actually squishy, and you can feel it deform while holding it. It’s noisy too, the plastic creaks, groans, and grinds when you pick it up. Regular, strong plastic would still be unacceptable when everyone else uses aluminum, but this… this is insulting for a $500 tablet.

    Oh, sure, take their word for it if you want to believe what the Android fanboys say. I say good for Samsung: it sounds like they’ve finally stopped copying Apple.

    → 2:24 AM, Aug 22
  • Oregon Data Centers

    Facebook’s new Oregon data center:

    Facebook’s data center here is one of the most energy efficient in the world. The social network invested $210 million for just the first phase of the data center, which GigaOM got a chance to check out during a two-hour tour.

    I’ve heard that the future of Oregon’s economy is data centers due to our cheap land and abundance of clean power.

    (via The Loop)

    → 6:41 PM, Aug 20
  • Justin on Startup Life

    The Stages of Startup Life

    1. Realize that you’re not really busy and that there’s more to life than sitting in front of the keyboard trying to change the world one trendy mobile app at a time.

    I can’t say that I know the other side of it too well, but I can say that having a life is pretty sweet.

    → 5:39 PM, Aug 14
  • 360iDev 2012

    I’m pleased to say that I’ll be speaking at 360iDev 2012, September 9–12th in Denver. There’s a really good mix of returning and new speakers. 360iDev is one of the things I look forward to the most throughout the year, and I don’t think this one will be any different. I’ll opening up the second day with a general session talk I’m calling “How to Not Be a Programmer.” If you haven’t gotten tickets yet, they’re really inexpensive for the quality of conference you’ll get, so definitely check it out.

    → 4:07 PM, Aug 12
  • Dark Xcode Themes

    Every so often I try a dark theme in Xcode, and usually switch back to the default within a few days. But since I’ve been using the EGOv2, it actually seems to be sticking. There’s also an original version of EGO that v2 is based off of that’s alright as well, although a little too high contrast for me. The themes use 13pt Menlo Bold as their font — which is a different than what I’m used to. I’m actually liking the 13pt size, but turned off bold.

    → 10:53 AM, Aug 1
  • MacDrifter on Blog Portability

    MacDrifter “Things I Have Learned About Blog Portability”:

    In my continuing efforts to migrate off of WordPress, I now understand some of my biggest mistakes and flaws.

    Good list. I’m pretty sure I’ve made a bunch of these same mistakes.

    → 1:06 PM, Jul 31
  • Hulu Plus on Apple TV

    Hulu Plus is now available on Apple TV. I've never paid for cable service, and don't plan on starting, so I've hoped something like this would happen for a while. I've used a Roku exclusively for watching Hulu Plus for a while now, but it's buggy and the interface lags. Hulu on Apple TV looks about as good as Netflix is, which is to say really good.

    (via Daring Fireball)

    → 12:57 PM, Jul 31
  • Get Ready for Food Prices to Go Up

    Get Ready for Food Prices to Go Up:

    Sounds like vegans who eat local, unprocessed foods are going to be hurt the least by all this.

    (Via Portland Mercury)

    Good to know.

    → 1:01 AM, Jul 27
  • About Text Editors

    Macdrifter:

    I have a garage filled with amazing but different options. NVAlt is the Austin Mini Cooper. It’s fun and easy drive, but I don’t want to go on a long trip with it. Sublime Text 2 is the Tesla Roadster. It’s breathtaking and fast but tweak it too hard and you just screwed up your ride beyond all repair. BBEdit is the VW Westfalia. It has more amenities than I can comprehend, and it’s not the best looking ride out there but I could probably live in it if I wanted to.

    I use BBEdit primarily as well. I like it.

    → 3:07 PM, Jul 26
  • The Sweetest Thing I've Heard Today

    Manton Reece, talking about the impermanence of digital media:

    Some people say “good riddance” to the cheap printed book, but I don't agree. Recently in our house I found a paperback of an old favorite, Tigana, which I had bought while traveling in Europe. Inside the cover I had written “Oxford, 1999”. I flipped through the pages and out fell a wine label that I hadn't seen in 13 years. It was from a bottle of wine my wife and I had in Greece, sitting on the sand of an island beach the night I proposed.
    → 4:57 PM, Jul 20
  • The LA Times Tries to Capitalize on Aurora Tradgedy

    LA Times: How will Colorado shootings affect 'Dark Knight Rises' screenings?:

     As details emerge about a deadly rampage at a screening of "The Dark Knight Rises" in Aurora, Colo., there are also questions about how movie theaters and filmgoers around the world will react to the tragedy.

    How about fuck you, who gives a shit? The LA Times is disgusting and should be ashamed of themselves for trying to capitalize within hours on twelve people losing their lives by posting this link-bait garbage.

    → 7:23 AM, Jul 20
  • Trapit for iPad

    TUAW:

    Trapit for iPad was born out of an artificial intelligence project completed by DARPA and SRI, and has some of the same DNA as Siri.

    So anyway, that thing I was working on since the beginning of the year came out and seems to be doing alright.

    → 5:32 AM, Jul 20
  • Apple Does the Right Thing for 3GS Users

    The Verge: iPhone 3GS gets shared Photo Streams and VIP email with new iOS 6 beta release:

    With the developer release of iOS 6 Beta 3, both shared Photo Streams and VIP email features are now supported on the aging 3GS, and Apple has updated the iOS 6 information page to remove the previously listed restrictions.

    It never made any sense to me why 3GS users weren't getting these features. No one was going to buy a new phone to get VIP email, but if they knew they weren't getting it, they may have a bad taste for Apple over it. The cost/benefit was hard to understand. Flyover and turn by turn feel like the sorts of things the older hardware can't support, leaving out these other features though just felt like they were trying to get people to buy a new phone by screwing their customers — very un-Apple like.

    → 1:16 PM, Jul 17
  • Ordered Apogee MiC

    Ordered an Apogee MiC this morning. If you've never heard of it before, it's a USB microphone which can plug directly into an iPad, iPhone or Mac. Although I have lots of more substantial recording gear, lowering the barrier of entry to record something quick that sounds decent is something that I've been wanting to do for a long time. I expect it to be good for recording podcasts, live shows and doing quick demos of things at home.

    If it sounds decent it could mean I start doing a lot of my recording straight to Garageband on the iPad.

    → 3:34 PM, Jul 5
  • Piedmont OmniFocus Theme

    This weekend I discovered what I’m pretty sure is the most effective way to lose two days: tweaking OmniFocus’s theme settings. I went from trying out other peoples themes, to making it look like various Wes Anderson movies (using the color chart I posted a couple of weeks ago), and eventually landed on doing something a bit simpler. I decided to call it “Piedmont.” On top of prettier, I also tried to make it easier to glance at the window and see what’s going on, and make the sidebar less distracting so that I could leave it open more. Hopefully sharing it will save someone else from a weekend of tormenting over just the right shade of gray.

    Piedmont Theme Screenshot

    Download Link.

    → 5:34 PM, Jul 2
  • My NetNewsWire Window

    My NetNewsWire Window

    I love NetNewsWire1 — and have for years — because its interface isn't overdone, and because of how fast it lets me get through whatever's new. I have it set up a little bit different from the default to make things even more focused and minimal.

    Hidden Feeds List

    I primarily get through my news by repeatedly hitting ⌘ + / (next unread)2, so I have no reason to look at my list of feeds unless I'm removing, reorganizing or adding feeds.

    Tabs and Open Links in NetNewsWire

    Setting tabs to appear at the top of the window keeps it from resizing to show them on the right, and cuts down on visual clutter while reading. I have the app set to open links in NetNewsWire by default, so when I'm going through my articles list hit, I can hit return (open article) if I see an article I want to read in more detail, and click links that sound interesting, and they'll come up as tabs. I keep them open and use as a queue of things I want to read in more detail (or, ⌘-P to send to Instapaper if I realize I don't have time right now).

    Ballard 21st Century Theme

    A theme for NetNewsWire by Alex Knight, based on a theme by Pat Dryburgh, which was based on the original that Brent made. It's really nice. They share no actual CSS, but the theme of this blog is clearly heavily influenced by it. I honestly can't remember if that was on purpose or just came from staring at this theme every day. The point is I like it a lot3.


    1. Speaking of things I love, if you like these kinds of blogs and aren't reading MacDrifter, I recommend it. ↩

    2. This is my favorite feature of the app. I have no idea why others don't copy it. ↩

    3. I blame Brent for my infatuation with Myriad Pro and Myriad Web Pro. ↩

    → 1:03 PM, Jun 29
  • Apple's Podcasts App

    In this version it’s OK if you weren’t willing to pay money for another podcast app, but I can’t find any reason to use this instead of Instacast. I’m not in love with everything that Instacast does, but the iPhone version has gotten a lot better in recent versions. Podcasts 1.0 has a few problems that are going to keep me from switching, none of which I think are power user things:

    • iCloud Syncing: Instacast and Downcast both do this. I usually use my iPad to listen to podcasts when I'm at home, and my iPhone when I'm walking, so this is pretty important to me.
    • Kludgy Interface: Way too much tapping around to do simple things like marking an episode as played.
    • Reverse Playback Order: This one might be a little power user-ish; you can only playback automatically from newest to oldest. Either is fine as a default, but the one they chose isn't the one I use. I think anyone else who listens to 5by5 After Dark probably has the same preference.

    If Apple updated the app to fix these things I might give it a shot. iCloud support seems likely, changing playback order slightly less so. I think we’re probably stuck with the kludgy interface. iBooks, however, has gotten a lot better over time, so I guess there’s no reason to think this won’t as well.

    → 6:55 PM, Jun 27
  • Sales of Closeby and What I've Learned

    A few months ago I released a small app called Closeby. What Closeby does is finds which of your contacts are nearby by using the addresses you’ve stored in your address book. Think of it kind of like “Find My Friends Houses.” Although everyone who tried it seemed to think the app was well done, and many offered great suggestions — which I’ve recently gotten around to implementing a lot of — the app hasn’t sold very well.

    Since February the sales have looked something like this:

    ClosebySales

    The launch was decent, and the next several days weren’t too bad either, but after the initial wave of sales things fell off in a pretty serious way, with several days of zero sales. Now, honestly, I don’t think the app is really for everyone and I didn’t expect to get rich off of it. I thought of it more as a fun idea that I thought I could execute well, and an opportunity to get a nice looking app out there that I could be proud of. In those respects it’s done great. Still, I’d like to look at what I can do better in the future in order to get my next apps into more peoples hands.

    The Price Was Too High

    The first thing is that I think I priced the app too high. I started off at $2.99, and I think that was a mistake. As of today I’ve lowered the price to 99¢, where I plan on keeping it. I don’t think most apps should be 99¢ — most apps I buy aren’t — but I do think this app should be. The reason is that Closeby can be a fun app to have on your phone, and definitely has utility for certain people, but that for most people it’s more of a novelty. If I like it or not the state of the market for iOS apps is that novelty apps cost 99¢, and $2.99-$4.99 is seen as more of a premium price point.

    Has to Be Seen and Explained

    The second problem I think is that while everyone who’s seen Closeby have had nice things to say about it, it’s just not an app that sounds that cool unless you’ve seen it, or ideally I’ve shown it to you. It’s also not an app that I think anyone is searching for. Thinking about it now, I really am not sure how you’d accidentally run across Closeby due to an App Store search.

    With my future apps I want to focus on easily understandable solutions so that you know if you want it has soon as you see it. I think this is a big lesson that I haven’t really gotten until now.

    Bad Update Strategy (Initially)

    I don’t know what the direct impact on sales has been, but when I first released the app I got so many great suggestions from other developers and designers that I wanted to implement that I spent way too long trying to fit all of them into one release. This was a mistake, especially since I have a lot of other things I’m responsible for getting done. Since then I’ve started releasing smaller updates a lot more often. If I can spend a couple of hours and fix a bug, add a feature or make something nicer to look at, I just do it and submit. Even doing things that way, it’s unlikely that I’ll get my updates approved and in the store faster than every 10-14 days, so there’s really no risk of updating too often. I don’t know if there’s any relationship, but it does seem like I’ve had a small uptick at the end of the chart.

    Going Forward

    I think there’s a lot of lessons I can take from this. I’m still proud of the app, happy it’s out there and plan to keep updating it. To summarize the big things I think I can do better next time, they are:

    • Price what the market will bear for the kind of app you're releasing, not what you'd like to sell for.
    • Pick ideas that don't need to be explained and that solve a problem you know others are having.
    • Break up your ideas into smaller updates, rather than going a long time between updates.

    And of course if you’d like to check out Closeby, you can find it on the App Store.

    → 7:17 PM, Jun 23
  • Wes Anderson Color Palettes

    I’ve been thinking of creating a custom Keynote theme to use for all of the talks I do. This will be very helpful for that.

    → 6:35 PM, Jun 23
  • innessential.com: UIGestureRecognizer and nil-targeted Actions

    Brent Simmons:

    I like the Cocoa responder chain — I like being able to specify nil as target and have the action message follow the responder chain until it’s handled (or not).

    But this doesn’t work with UIGestureRecognizer. The documentation states that “nil is not a valid value” for the target in addTarget:action:.

    Neat — I learned something.

    → 6:30 PM, Jun 23
  • TextExpander 4

    Nice update to an app I use all the time. The multi-line fill-ins feature in particular is something I’ve really wanted. You can buy or upgrade via Smile’s website. If you previously bought it on the Mac App Store, all you need to do is download the demo and launch it, and you’ll be offered the upgrade price from within the app.

    → 8:09 PM, Jun 22
  • BeeList for iPhone

    My friend Matt just released a new shareable list app with one of my favorite names ever: BeeList. If you've been looking for an app like this, it looks like a good choice, and is available for the unbelievably low price of $1.99.

    → 4:55 PM, Jun 6
  • Best Coffee Roasters in Portland

    An Exploration of Portland Oregon Food and Drink:

    I was floored by these results. The relatively new Ristretto Roasters came out of nowhere to take first place, edging out Stumptown Coffee.

    A bunch of my favorites made the list (I've tried all of these), but I'm shocked to not see Heart Coffee Roasters on this list. The Red E Cafe has also started selling their own beans recently, and I wouldn't be surprised to see them on the list in the future.

    → 4:13 PM, Jun 5
  • WWDC Travel Checklist

    Whether or not you got a ticket this year — or are just going — WWDC is five days of being insanely busy and struggling to keep your electronics charged. I’ve created a quick checklist of things that I’ve picked up or wish I had for previous events. You don’t want to get to San Francisco and realize you forgot to bring something you really need, and you really don’t want to try and buy anything once you’re there.

    Tech Items

    Don’t plan on picking any of these up while you’re there. There’s going to be a rush on the local Apple Store and you won’t be able to find it.

    Mophie Juicepack (or similar)
    It seems like a full iPhone battery is enough for about two thirds of a day at WWDC. These generally claim to double your battery life (or better), so that should be just right. The worst thing is having to abandon your friends to go find a plug, or trying to charge off of your laptop the entire day. You will not regret this purchase.

    Apple USB Ethernet Adapter for MacBook Air
    If you have a MacBook Air you’re going to want one of these in order to plug in and download whatever Apple has for you.

    iPad and iPhone Wall Chargers
    Don’t plan on charging anything off of a laptop at night. You’ll forget one time and it will be a nightmare. Bring a wall charger for each separate device you bring.

    Extra Dock Connector Cables
    Bring at least one more than the number of devices you have that use it.

    Personal Items

    Travel Toothbrush and Toothpaste
    I usually count on the hotel I’m staying at to provide these. Last year they didn’t and it was a total pain in the ass.

    Lightweight Jacket
    It gets cold in San Francisco at night, not frigid, but cold enough to need something. Don’t get stuck wearing your WWDC jacket the entire time.

    Backpack Travel Bag
    I recently upgraded my travel bag to an Archival Clothing Rucksack and it’s a great improvement over the roller bag I’d been using before. I can fit everything, it’s not a pain if I need to carry it around part of a day and I won’t be asked to check it at the gate if the plane is full.

    Extra Clothes
    Bring two more than you think you need of the following: socks, underwear, shirts and pants.

    Miscellaneous

    Data Plan for Your iPad (if 3G or LTE)
    If you can offload some of the mapping and messaging you’ll be doing during the day to your iPad you’ll have a much better chance of your iPhone battery making it through the day. I did this at Macworld and it was a great decision; completely worth the twenty or thirty dollars.

    → 5:21 PM, Jun 1
  • HockeyApp is Awesome

    I switched from TestFlight to HockeyApp recently and couldn't be happier. It's not that I was ever unhappy with TestFlight — each is probably better in different ways, and you should use TestFlight if you prefer it — but for me HockeyApp just fits better. I thought I'd take some time and explain why I like it so much.

    HockeyApp Is a Payed Service

    This is the feature that made me want to check out HockeyApp in the first place: they make me pay them. I have no confusion what my relationship with the company is. Because of this I feel they'll stick around, are more likely to always treat me like a valued customer and I that can expect to not be surprised by radical changes as a result of developing new business models.

    Crash Reporting

    Once I started my trial, it became clear that crash reporting is the standout feature of HockeyApp. The library they've created is called QuincyKit, and the server component can either be self hosted, or with HockeyApp (you get a couple of extra features this way).

    All you have to do is enter the details for this version of your app and the dsym file to get fully symbolicated crash reports. You can also upload the xcarchive file Xcode generates when you archive using their uploader app for Mac, and it's everything's handled automatically.

    It's already helped track down some crash-bugs that I never would have found otherwise, and I've heard the same from other developers.

    Issue Tracker Integration

    On top of just showing crash reports, they can be also be easily integrated with just about every bug tracker I've ever heard of. I use GitHub Issues, and have HockeyApp set to automatically generate a new ticket whenever a crash report comes in.

    HockeyKit

    I don't currently include analytics in the release versions of my apps, mostly because I don't want to have other peoples code in my apps any more than necessary1. But during testing I'd like to see things like who's downloaded the app, how long it's been ran for and what devices it's been ran on. The HockeyKit library gives me all of that as well as over the air updates for testers.


    1. I don't have any issue with apps that use analytics, but tracking users (non-identifiably) wasn't helping me sell more copies, wasn't helping me improve my apps and gave me another way to distract myself. ↩

    → 6:49 PM, May 28
  • Coding Guidelines For Cocoa

    There's one document I spend an unreasonable amount of time referring back to when coding that I think is worth others looking at too — Apple's “Coding Guidelines For Cocoa.” It's important to have a consistent style — especially when working with others — and Apple has made explicit a few that are used pretty inconsistently in the real world.

    For example, from the “Naming Methods” section:

    Don’t use “and” to link keywords that are attributes of the receiver.

    So, for example:

    - (void)doSomething:(id)foo andSomething:(id)bar

    Is only correct when the second argument is an optional parameter for the method, not when it's an attribute of something.

    There's a lot of other goodies, like what the very few acronyms it's OK to use in your code are are. Read it and refer back to it, and I promise the people you work with will thank you.

    → 3:04 PM, May 20
  • Glassboard 2.0

    My friends at Sepia Labs have just released the version 2 of Glassboard, their app for sharing privately and securely with people you know on iOS, Android and now the web. Also it's gorgeous. The app is free, so you should check it out. Brent has a lot more to say about it.

    → 3:08 PM, May 15
  • A Glitch or Two

    This Is What Developing For Android Looks Like | TechCrunch:

    Siu is nonplussed though. He’s told me in the past that thorough QA testing makes Animoca’s apps retain users better because so many other Android developers do a bad job at it. Unlike iOS users who throw up their hands in frustration, write bad reviews and just leave, Android users tend to be delighted when they find apps that work even if they have a glitch or two.

    So Android users are more tolerant than iOS users of crappy apps because more apps are crappy? Sounds great.

    → 9:31 PM, May 12
  • Building a Desk

    The past couple of weeks I've been considering the possibility of buying a new desk. The problem I've had is that while there's some that I love the look of, they all come about 29" high, which is really not ideal for typing. The ideal position when is to have your elbows at at least a 90° angle and your feet flat on the ground. Maybe someone a few inches taller (I'm 5'8) wouldn't have this problem, but for me I either have to get a chair which puts me so high off the ground my feet dangle, put my keyboard on a tray or get a shorter desk. Up until now I've been using a laptop table under the desk as a keyboard stand, but it gets in the way of my feet and I'm sick of it. Since I can't find a desk that I'm in love with which also is at the right height, I'm building my own.

    The idea — which I found on a blog — is to use hairpin legs with any piece of wood you like. I ordered the legs in the 24" height, which when paired with a 1" top will lower my desk height by around 4". It doesn't sound too hard to do, and the result will hopefully be a gorgeous looking desk at exactly the right height for about $150. If my monitor sits too low I can always build a little table top stand for it the same way using 2" legs or so.

    → 9:58 PM, May 5
  • Motivations for Decorating Instance Variables

    Mark Dalyrymple on the Big Nerd Ranch Blog:

    These synthesizes tell the compiler that each property should be backed by an instance variable whose name is prefixed by an underscore. The compiler names the backing instance variable after the property if you don’t provide an alternative.

    OK, so why do programmers do this? Seems like it’s just extra busywork. I see two main reasons: one involves style, and one involves safety.

    I'm amazed at the number of bugs I see in people's code that's due to not using properties consistently. Please do this.

    I sort of disagree with this part though:

    Some people use a trailing underscore (that’s Google’s style), and folks also prefix or suffix with “m” for “member”. It’s all fine. One nice thing about the leading underscore is that it automatically participates in Key-Value Coding.

    Just use an underscore — Apple says to.

    → 4:00 PM, Apr 23
  • MarsEdit 3.5

    MarsEdit is the final destination for almost everything I post here, and version 3.5 is a really nice update. The improved full screen mode is something I've wanted since Lion came out.

    → 3:15 PM, Apr 23
  • Going With Xcode's Code Style Flow

    If there's one thing I've spent way too much time thinking about, it's the way I format code (bracing and spacing). I know eventually I could get used to any reasonable style, so the time I spend reformatting Xcode's generated code is useless busy work. All I really want is Apple to tell me “this is the way we want you to do it.” While Apple's example projects don't really have a consistent style, the code that Xcode generates for file templates and autocompletion does — the one true brace style.

    So my style has evolved from something like this when I started working for myself last September:

    - (void) myMethod: (id) sender
    {
        for( int i; i < 10; 1++ )
        {
            printf( @"%d", i );
        }
    }
    

    To something more like Allman style:

    - (void)myMethod:(id)sender
    {
        for (int i; i < 10; i++)
        {
            printf(@"%d", i);
        }
    }
    

    And finally to K&R / 1TBS

    - (void)myMethod:(id)sender
    {
        for (int i; i < 10; i++) {
            printf(@"%d", i);
        }
    }
    

    So braces for method and function definitions go on the next line, everything else goes on on the same line. Are there practical reasons this style is better or worse than others? I'm sure. The style I was using before going independent spaces everything out a lot, so whatever reason to like it or not, there's a lot of reformatting that's going to occur, so moving to the second style was mostly to avoid that.

    Always putting braces on the next line didn't always work well either though, particularly with blocks. I just couldn't find a way to make blocks look passably decent or work with Xcode's auto-indenting while putting their opening brace on the next line.

    Xcode's autoindenting turns what would be this:

    dispatch_async(dispatch_get_main_queue(), ^{
        // do something here
    });
    

    Into this:

    dispatch_async(dispatch_get_main_queue(),
                   ^{
                       // do something here
                   });
    

    But the biggest reason for making this switch is that's the closest thing to a supported-style Xcode has — all of the file templates lay method definitions out this way, and so does autocomplete. I'm not working against my tools anymore, I don't need to waste time reformatting, and that becomes time I can spend getting real work done.

    → 4:47 PM, Apr 15
  • Prioritizing Active Transportation in the United States

    I live in Portland Oregon, a place that’s often referred to as the Cycling Mecca of the United States. Indeed, it is relatively easy to get around by bike here compared to other cities I’ve lived in, but even here there seems to be a feeling by some that good enough is good enough, and it’s not. The fact that we have gotten as far as we have in Portland has more to do with the demand of the people who live here than anything else. You only need to compare pictures of bike roads in Amsterdam and compare it to a street heavily trafficked by bikes in Portland to see that. In one bikes are treated as equal and separated from cars, in the other we’re expected to take back streets, usually ride in traffic, and in all cases end up very close to cars. In the best cycling city in America, cyclists are second class citizens. Where does that put everywhere else in the country?

    I do not believe there is anything inherently different about cities in the United States that mean we can’t do as good as countries in Europe — I think we lack political will. Prioritizing more motor vehicle infrastructure over cycling (and public transit) is short term thinking: we are running out of fossil fuels, we do have an obesity epidemic and we are destroying the environment. If you prioritize building infrastructure to encourage active transportation in the United States — and de-prioritize single occupant motor vehicle traffic — it helps all these things. There’s no reason to believe Americans inherently hate biking or walking — I think it’s just that only the very motivated one’s will to do it if it means riding next to cars in traffic.

    What got me thinking about this was an article on the Bike Portland website about a woman who was hit by a car on her bike and could have easily died:

    Indeed, I was lucky. Others, like Hank Bersani, have not been. And what is our government doing to prevent these tragedies? What has been done to protect our health and safety? A sharrow here or there, bike lanes that end randomly and traverse road debris and metal sewer grates, a few bike lights and yield signs… nothing of substance. Nothing that actually treats people, not vehicles, as a vested interest.

    All of what she said is true. In the best bike city in the country we don’t have bike lanes on most major streets, and where they do exist they’re rarely — if ever — physically separated from motor vehicle traffic. How is that supposed to encourage anyone but the bravest and most confident cycles to get on a bike as a main form of transportation?

    The author goes on quote a study which laid out the relative economic cost to society — through lowering costs of health care, infrastructure and road maintenance — of motor vehicle traffic vs bicycle traffic.

    Bike infrastructure costs less to build and less to maintain than car infrastructure. There is a reduction in healthcare costs associated with regular cycling, and a recently reported study showed an equivalent $0.42 economic gain for every mile biked compared to a $0.20 economic loss for every mile driven. Supporting and encouraging citizens to bike is an investment that pays off, all while leaving extra funds for education and other basic services.

    Who wouldn’t want to fight obesity (the Surgeon General estimates 300,000 people who die each year may be attributable to obesity), help the environment and save money that can be used elsewhere?

    The article ends by calling out who’ve called building bike infrastructure frivolous, by bringing up the death of a local cyclist:

    And even in these tight times, the funding is there. We just choose to do nothing. We choose to treat the loss of Hank Bersani, the devastation of his family and friends, and preventing the torment of the next family who will receive a similar solemn phone call as a “waste” of taxpayer resources.

    The idea that doing things which can save lives, and also pays off economically, would be called frivolous or a waste by anyone is hard for me to get my head around.

    I’m not a hippie, I’m not an environmental activist and I know that motor vehicles cannot be entirely replaced by biking and public transit. I’m a realist, and the more I think about this the more I see treating alternative forms as equal — and preferable when possible — is the kind of investment we’d all like to make, and that as a society we should make: low risk and high payout. We can do better.

    → 5:11 PM, Apr 12
  • A 2008 Ad From Portland Mayor Sam Adams

    Sam Adams is the person who isn’t running for mayor again due to having a consensual relationship with an adult. He was nice enough to once let me hang out with him and his colleagues without knowing me when I first moved here, and has responded to me directly on Twitter before to answer questions about the city.

    Watching this ad from 2008, I can’t help but feel he still represents what Portland is about, and that we’re better for having him. Sad to see him go so soon.

    http://blip.tv/play/Aar6HAI.html?p=1

    http://a.blip.tv/api.swf#Aar6HAI

    → 9:11 PM, Apr 11
  • The Verge: "Next iPhone to Be Weirdly Proportioned"

    The 4 inch iPhone 5:

    Colin's idea was to keep the shorter side of the iPhones screen the same, i.e. 640 pixels at 1.94 inches. With that in mind how much would the longer side need to increase so the that diagonal measurement was 4 inches. The answer, derived using simple algebraic rearrangement of Pythagorus's theorem, 1152 pixels and 3.49 inches. That leaves the the diagonal length measuring a little over 3.99 inches, I'm sure Apple PR could round this 4.

    An iPhone proportioned this way would be weirdly tall — and Apple is not known for making things that are badly proportioned. This Colin person pulled this out of his ass, and I don’t know why The Verge would bother publishing an article about it.

    → 8:27 PM, Apr 11
  • Boosh. Called It.

    Simpsons creator explains Springfield reference:

    Simpsons creator Matt Groening revealed to Smithsonian magazine which Springfield the Simpsons’ Springfield is named after.

    (Via The Loop)

    It was Springfield Oregon all along. Suck it every other state. Another interesting fact is that pretty much everything you know from The Simpsons is named after something in Portland — Matt Groening grew up here with his father Homer, mother Margaret, and sisters Lisa and Maggie.

    → 8:05 PM, Apr 10
  • Awesome Icons for OmniFocus

    Read a great article last night by someone named Tim Stringer on how he uses OmniFocus (via MacSparky). One of the things he mentions in the article are these great icons by Dry Icons, which are are free (for personal use) and work perfectly as custom perspective icons in OmniFocus.

    → 6:08 PM, Apr 8
  • Just Bought QuickCursor

    A bit behind the curve on this, but just bought a copy of QuickCursor, and I don't know why I waited so long. What it does is let you set up global key commands for your favorite text editors on your Mac, send whatever's in the current text field to them, and then when you close the document window the original text is replaced with your edited version. It's awesome if you want to avoid having to type into a text box on a web page, or find yourself switching between text editors frequently.

    → 12:46 AM, Apr 4
  • Share With Dropbox AppleScript

    Something that comes up pretty often for me is copying a file to my Dropbox public folder and then sharing the URL with someone. To make my life a little easier, I created an AppleScript to copy the selected Finder items to the public folder and then add the shared URL's to the clipboard.

    I created a GitHub gist for it. Should work well with any script launcher.

    https://gist.github.com/2278990.js

    → 2:51 PM, Apr 1
  • Mike Daisey's New Column in the Portland Mercury

    Mike Daisey has a new column in the Portland Mercury:

    For me, the pyramids door Egypt symbolize one of mankind's most spectacular achievements. But at the same time, it's hard to reconcile the notion that these gorgeous monuments to the human spirit were built... using slave labor.

    I love this town.

    → 5:23 PM, Mar 24
  • A Ride in the Rain

    Just went on an extended ride through the east side of Portland in the rain, on the bike I received yesterday. The combination of weather, and my old bike being slightly out of commission for a few weeks means I haven't ridden as many places I was before. Winter can sort of make you forget how great going outside and doing something — even a little — physical makes you feel. Your body feels better, and your brain works better.

    Anyone serious about development should be serious about how they treat their body. Both with what they eat, and what they do.

    Rainy Bike Ride

    → 3:26 PM, Mar 21
  • Nothing is More Fundamental

    Jeff Atwood on the new iPad and it’s display

    iPad 3 reviews that complain “all they did was improve the display” are clueless bordering on stupidity. Tablets are pretty much by definition all display; nothing is more fundamental to the tablet experience than the quality of the display.

    Jeff’s thoughts on why Apple — and not Microsoft — is leading the post-PC revolution are another highlight.

    → 8:17 PM, Mar 20
  • Photos From the Portland Farmers Market

    One of my favorite times in Portland is the several months out of the year when the PSU Farmers Market is open. During this time I spend a couple hours every Saturday morning getting local vegetables, wine and baked things. Spencer went the opening weekend this year and has a post with some nice photographs of it.

    → 10:39 AM, Mar 20
  • Investing in Customer Service

    There's good article in The New Yorker this week about how Uniqlo and other companies have become more financially successful by investing in staff in numbers, training and compensation, and how other companies have failed or faltered by doing the opposite.

    I've shopped at Uniqlo before and it's about as close to an Apple Store experience as you're going to find from a non-luxury clothing retailer. And although their not mentioned, clearly Apple is another company which has taken this to heart.

    One who hasn't is Home Depot. I was in one of their stores last week, and this quote from the article is a perfect description of the experience:

    When Bob Nardelli took over Home Depot, in 2000, he reduced the number of salespeople on the floor and turned many full-time jobs into part-time ones. In the process, he turned Home Depot stores into cavernous wastelands, with customers wandering around dejectedly trying to find an aproned employee, only to discover that he had no useful advice to offer.

    I think that anytime a company can invest in improving their customers experience, it's going to pay off whether it's by having support staff, or hiring more retail employees. It's sad that the model of making things as hard for customers as they can be to try and cut costs has become something, we're so accustomed to. Even worse is that it doesn't even seem to work.

    → 10:11 PM, Mar 19
  • Making Instapaper Folders Useful

    I haven't ever known exactly what to do with folders in Instapaper. But I'm a sucker for systems and organization, so I've really tried. In the past I've used folders to turn Instapaper into sort of a pseudo-bookmarking service, but not having other organizational features (e.g. tags) makes it a pretty bad choice for that, and I want to use the right tools for the right jobs. I've decided that Instapaper works best when I treat it like an inbox I need to clear out — purely as a “... Later” service. The idea is that everything saved to Instapaper should be consumed and then archived, leaving no stale items.

    Instead of having folders like “Recipes” and “Development” to store articles indefinitely, my folders are:

    • Read Later
      • News articles and blog posts.
    • Watch Later
      • Videos people send me mostly.
    • Cook Later
      • Recipes I'd like to try soon.
    • Buy Later
      • Things I intend to buy online (apps, Amazon).

    What makes this work is a feature in Instapaper that was a bit hidden to me until now. From the Instapaper website you can save a bookmarklet for any folder and have it work just like the “Read Later” bookmarklet. I have one for each of my folders as the first four items in my bookmarks bar, so anything I save off the web can get stored in the right place automatically1. Once I'm finished with an item I archive it, and things I'm pretty sure I'll want to look at again I send to Pinboard, where they can be organized in greater detail.


    1. Since items that get saved from apps will always go to my “Read Later” folder, I just organize those when I'm in the app. ↩

    → 1:01 PM, Mar 19
  • iPad 3, iPad 2 and iPhone 4S Cellular Speed Tests

    I wanted to see what the real differences were between Verizon's LTE, and the AT&T 3G connections I've been using, so I ran some tests and decided to post the numbers. The devices I used were a new iPad, an iPad 2 and an iPhone 4S. I tested all of them from my home in Portland Oregon using the “Speedtest.net Mobile Speed Test” app with their cellular (3G/4G/LTE) connections, plus the new iPad on my home Comcast connection.

    • iPad 3: Home Comcast via Wi-Fi
      • Download: 31.05Mbps
      • Upload: 5.03Mbps
      • Ping: 14ms
    • iPad 3: Verizon LTE
      • Download: 14.20Mbps
      • Upload: 3.42Mbps
      • Ping: 44ms
    • iPad 2: AT&T 3G
      • Download: 5.57Mbps
      • Upload: 1.23Mbps
      • Ping: 99ms
    • iPhone 4S: AT&T “4G” (HSPA+)
      • Download: 7.16Mbps
      • Upload: 1.26Mbps
      • Ping: 99ms

    The LTE numbers were way better than I expected — 14.2 down is probably better than most home (or any coffee shop) Internet connections. It also looks like AT&T's HSPA+ “4G” is a little faster where I live than regular AT&T 3G for downloading, but only a little. My overall impression is that AT&T 3G is pretty fast where I live, and that Verizon LTE is holy shit fast.

    → 2:00 AM, Mar 17
  • Addendum to Previous Post

    In the previous post I talked about my reservations regarding the way that iCloud syncing is handled in an app like Byword, but forgot to mention that Byword for iOS includes Dropbox support for syncing as well as iCloud.

    I tested it a bit, and iCloud definitely works more seamlessly in this version — changes tend to get picked up faster on both ends — so you're still compromising (for now) one way or another with or without iCloud. It is possible, however, to use Byword on iOS without changing your entire workflow.

    → 10:22 PM, Mar 15
  • Shawn Blanc's Review of Byword

    Shawn Blanc on iCloud Syncing:

    The iCloud integration is, as with most other apps, painless and quick. I’ve found that apps which sync their documents through iCloud are quicker and more reliable. However, what I don’t like about using iCloud syncing is that it is application-specific. And so, in a way, an app becomes a silo of my work.

    I'm trying out Byword for writing blog posts, and so far this is my main sticking point. Keeping all of my drafts in Byword means apps like BBEdit (on OS X), or Elements and Writing Kit (App Store) (on iOS) into a secondary position. Each of these apps does some — or many — things better than Byword, but if I choose to use iCloud, a multi-app workflow will be a lot harder to maintain.

    I have more to say about this, so I'll save the rest of my thoughts for a more thoughtful review in the next day or two. I will say that I think the Metaclassy folks did a great job on both versions of Byword and most of my reservations have been about iCloud syncing as a concept, rather than Byword itself.

    → 4:03 PM, Mar 15
  • Desk Reorganization With Snapshots

    I did a little reorganization in my office today and took some snapshots. I've been trying to find a more ergonomic place to put my keyboard and mouse since my desk is a bit high for my chair, and doesn't have a keyboard tray. Instead of trying to install one, I got a “Dave” laptop table from IKEA for $20 and am using that instead. I actually like this better since the table is adjustable, and while I'm planning to phase out the desk soon, the table will still be useful around the house. I'm also pretty stoked on how much desk space I freed up.

    DeskDesk and ChairDesk 2

    → 10:19 PM, Mar 13
  • The CueCat

    Brent Simmons — “Each Generation is Doomed to Reinvent the CueCat”:

    Here’s the thing about the CueCat: it wasn’t that the hardware sucked, it’s that people aren’t going to scan things to go to a web page.

    I've never heard of the Cue Cat, but the Wikipedia article is fascinating to me in that I'm pretty sure you could actually replace every instance of “Cue Cat” with “QR Code”, and it would still be pretty accurate. I'm yet to see any person in real life scanning a QR code even though I see them everywhere.

    → 4:18 PM, Mar 13
  • Putting Duck Duck Go in the Safari Search Bar

    Ever since Google started prioritizing Google+ in search results, I've been courting new search engines. I tried Bing, which was fine, but the aesthetics of it really weren't pleasing to me. More recently I've been using Duck Duck Go, and I like it pretty well. It has a more minimal look that I prefer, and the search results have so far been pretty good. I can access Duck Duck Go easily from within Alfred1, but I also use the search box in Safari a lot, which only has options for Google, Yahoo! and Bing. The suggestion I heard the most was to edit your hosts file in order to replace Yahoo! with Duck Duck Go, but that wasn't super appealing to me.

    The solution I liked a lot more was to install an app called Glims, which adds all sorts of functionality to your search bar as well as add other search engines. I'm running the latest version of Safari and it works great. I actually found out about it on Duck Duck Go's Safari support page, so I was surprised I hadn't seen it mentioned elsewhere.


    1. I made my Alfred shortcut ddg since it's easier to type than duck. ↩

    → 4:21 PM, Mar 12
  • Got My Tactile Pro

    UPS just dropped off the Matias Tactile Pro I ordered from OWC. I'm going to write a full post about it in a couple of days, but my initial impressions are:

    • Bigger and feels more solid than I thought imagined.
    • Not nearly as reminiscent of the Apple Pro Keyboard as I was afraid it would be.
    • It's going to take a day or two to get used to the different layout after using the Apple Wireless Keyboard for so long.
    • Even louder than I thought it would be.

    If nothing else — it seems fun. It really is kind of satisfying to get some tactile feedback when you hit a key.

    → 2:26 PM, Mar 12
  • Dyson DC35 Digital Slim Review

    I'm terrible at cleaning my house, especially vacuuming. I came to a realization that the only way for me to stay on top of this is to lower the friction as much as possible. Up until now I've had a a big bulky thing that I bought a while back. It has a filter that must be replaced and re-purchased every so often, is heavy enough to make me not want to bring it up or down stairs, loud enough I don't want to run it at night (I have attached neighbors) and dirty to clean. So the friction has been pretty high. My solution yesterday afternoon was to purchase a Dyson DC35 Digital Slim. I like it so much I decided to do something I normally wouldn't: write a review of a vacuum cleaner.

    Dyson DC35 Digital Slim

    The Digital Slim is a lightweight cordless vacuum by Dyson that can be held in one hand and can be used either as a handheld or floor vacuum (by removing or using the included aluminum tube) It doesn't seem to pick up any less (more, actually) than my old vacuum, and being cordless is means I can use it for the car as well. I also enjoy that it sort of looks like something from Doctor Who.

    The battery lasts for about 15 minutes (which is a lot longer than it sounds), and can be recharged in about three hours. One of the things I really wanted in a new vacuum was for it to not have a filter that had to be re-purchased occasionally; the filter in the DC35 pulls out easily, only needs to be rinsed once every four weeks, and never needs to be replaced. I was able to vacuum my entire house (about 1200 ft²) in that amount of time. I was also able to get into places I never could before, due to its size, the floor attachment being able to turn 90˚ and because it's easy bend down and extend the tube under things (e.g., the bed or couch).

    It might seem a bit expensive at $329, but I was tired of friction, dirt and things that didn't work well. I consider my time to valuable to waste on cheap appliances. It's light and easy enough to move around, so I feel no obstacle to taking 5 minutes to clean up, and my floors are cleaner for it. If you live in an apartment or moderate sized house it can definitely be used as your only vacuum and I recommend it for that. Buy it using one of the links in this article and I'll get a small referral fee from Amazon.

    → 7:27 PM, Mar 11
  • Mechanical Keyboard Decision Making

    Over the past couple of weeks I've been obsessing over getting a mechanical keyboard. Mechanical keyboards are "clickier," provide more tactile feedback and don't need to be fully pressed down to register a key. Most modern keyboards use rubber domes instead of mechanical key switches, which are cheaper and quieter, but pretty much worse in every other way. Because you don’t need to depress the keys as far to register a press, mechanical keyboards should theoretically cause less hand strain, and since most of what I do all day is type, anything that could make for a more enjoyable, less RSI inducing experience is worth looking into.

    Although I've been aware of mechanical keyboards for about four years, I never bought one because I'm not really old enough to have fond memories of the best mechanical keyboards from the past, like the Apple Extended and IBM Model M. Also they're not cheap.

    The two mechanical keyboards I've been considering are the Matias Tactile Pro, and the new Das Keyboard model with a Mac layout. I've considered the Tactile Pro before, but the second version didn't get the greatest reviews and had a really ugly sticker across the top of it. Version three has been out for a while, gotten good reviews, and did away with the branding on the keyboard. The Das Keyboard model I'm looking at is just now becoming available with a Mac layout, but has gotten good reviews in the past.

    The primary difference I've looked at between these two is the use of different key switches. The Matias uses a version of Alps simple white key switches (similar to the Apple Extended), where the Das uses MX Cherry Blue key switches (common in mechanical keyboards on the market today). Both types work differently, and so they give each keyboard a different feel when pressing keys.

    If you want to get a sense for what the Das Keyboard might be like, you can maybe find another keyboard that uses the same key switches at your local Best Buy, or other big box electronics retailer, branded as a gaming keyboard. The one that I found was the ridiculously named “Razer BlackWidow Ultimate,” which wasn’t on display but had a cut out where the arrow keys are to let you tap on. If you've never used a mechanical keyboard, it's worth doing just to get a feel for how much different they really are.

    In the end, I decided to order the Tactile Pro mostly because it was hard to find a keyboard I could try that used the same Alps key switches, so if I got the Das I'd still wonder about it and end up ordering both1). I've also heard good things about the Apple Extended keyboards, and it was on sale at OWC. I should get it soon, so I'll post my impressions once I've spent some time getting used to it.


    1. I'll still end up ordering both. ↩

    → 1:45 AM, Mar 10
  • Take Control of BBEdit

    The people at TidBITS have released the latest in their Take Control series of books — “Take Control of BBEdit,” and it's only $5. I haven't gotten into the content yet, but I skimmed over the chapter list and it looks good. BBEdit has become an essential part of my development and writing workflows. BBEdit is my primary writing environment, what I mostly used for creating this sites theme (and the Albina Development site), how I manage project documents, write scripts and probably some other stuff I'm forgetting. If you don't have BBEdit, I recommend grabbing the demo, and then getting this book.

    → 12:04 AM, Mar 10
  • Photos Edited Using iPhoto for iPad

    I edited a few pictures from the last few days using iPhoto for iPad and posted them to my Flickr. I took them using a Panasonic GF2, with a 20mm Panasonic lens. All of them looked slightly underexposed, especially the one of my guinea pig, and needed the white balance adjusted. The auto white balance feature using skin tones, or white points works great. This is one of the most impressive, and genuinely useful apps I've seen on the iPad yet.

    photo Mooby in Her Cage Coffee Cup

    → 8:22 PM, Mar 8
  • Immodest Predictions

    Gruber asks, “What would it take for the iPad 3 to be deemed an immodest update?”:

    But if a faster processor, more RAM, a double-the-resolution retina display, a better camera, and maybe even LTE networking make for a “modest” update, then what would it take for the iPad 3 to be deemed an immodest update? A fusion energy source? Teleportation? A camera that sees into the future?

    So with that, in mind my predictions are as follows:

    • Double as a multi-dimensional gateway, ala Sliders. I expect this feature to be released in beta, so like Sliders, it will lack the ability to choose your destination.
    • In the maybe category, a quantum leap accelerator. The part of Ziggy will be played by Siri.
    → 11:18 PM, Mar 6
  • Ownership

    Over the past week I've moved away completely from the template-based hosting service I was using, to creating by hand both a new site for my company, and a custom Wordpress theme for this blog. I created both in Coda and BBEdit using nothing but HTML and CSS1, which I needed to learn a lot more about to do what I wanted2. Neither site is the most sophisticated example of web site creation imaginable, but I'm very pleased with how far I've gotten in the amount of time I've spent.

    Previously I'd been using Squarespace for both sites. I would recommend Squarespace for anyone looking for that kind of template based system and isn't very comfortable mucking around in a text editor. I thought I might be that way when it comes to web sites for a while, but I'm really not. I love the opportunity to feel unencumbered in my creativity, and to learn new things, to much. The only technical problems I really had is that I wanted it to work better with MarsEdit and Markdown than it did.

    The real reason I switched was to own more of my sites, create them using the tools I want and understand what went into them.

    I think there's value in owning the things you make and not being afraid to get your hands dirty with something you're not yet comfortable with. You'll probably find out it's less intimidating than you imagined once you scratch the surface — creating a Wordpress theme, for example, was much easier than I thought it would be.

    I don't mean that everyone needs to literally create from scratch every part of what they make. When I say own, I mean taking responsibility for the things you put into the world and making them the best they can be. Every person should pick the level of dirty they need to get to feel ownership.

    I thought I wanted to be as hands off as possible when it came to my websites — and I was wrong — but for a lot of people using something like a Squarespace or Wordpress.com site is perfect and empowers them in a different way. I also could have rolled my own static blogging engine3, but didn't feel a strong enough desire to take things that direction. The thing that no one should be is afraid to challenge themselves or settle for a level of ownership below what makes them satisfied. After all, learning and creating new things is a lot of fun.


    1. I edited some PHP too, which was mostly just tweaking what was there already. ↩

    2. I wasn't starting from zero, but I did have to really grow my understanding of CSS. ↩

    3. Played a bit with creating a blog system using Python — and I still might go that direction eventually — but felt that Wordpress had some desirable benefits, and also allowed me to get off the ground quicker. ↩

    → 12:47 AM, Mar 6
  • Omni Sync Server Out of Beta

    The Omni Group:

    Today, I get to do something we’ve been looking forward to for a while now: announce that the Omni Sync Server is coming out of beta.

    I use OmniFocus every day to manage my personal and professional tasks. It's the only task management app I've been able to stick with and get more out of than I put into it.

    → 8:28 PM, Mar 5
  • New Blog Home

    I've moved this blog to a new host — so sorry if you saw repeats in the RSS feed.

    → 1:31 AM, Mar 5
  • On Creative Work Spaces

    Looking at this gallery of beautiful work spaces (via The Loop), my initial thought is actually — how much does this matter to anyone? I don’t mean to say that I don’t think some of them aren’t gorgeous, what I mean is that all of them look like places where people sit in chairs and stare at computer screens.

    The kinds of things that are appealing to me are having a private office, having enough room to move and having good snacks and coffee. I’m not sure a slide is one that even rates for me.

    → 11:41 AM, Mar 3
  • New Albina Development Site

    This week I finally decided to put together a new site for my company using just HTML, CSS and Photoshop. I’d been hosting it using Squarespace, but it felt like a really heavy solution for a static site. I also never felt as though I could get far enough away from it looking like a template — although I’m sure someone with more CSS skills could. Mostly though, the biggest reason is that I was never totally comfortable not owning every part of my site, and wanted the entire thing on my Mac.

    Since I haven’t made any web sites by hand in a long time, I learned a lot — I’m also sure I got some things wrong and will need to tweak it over time. I found that using Coda and BBEdit helped the whole thing come together pretty easily.

    Coda is great because the auto-complete works so well, and the CSS editor was really helpful. It’s also nice having everything in one app. The BBEdit features that helped the most were letting me keep all of my related files in a project and search globally across them.

    The one thing that really struck me with doing it this way was how much it’s similar to, but not like programming.

    → 11:42 PM, Mar 1
  • Preview Current BBEdit Document Using Marked

    I’m a big fan of Brett Terptra’s app Marked for showing Markdown previews while writing in another app. Since I’ve been using BBEdit more for writing Markdown, I’ve wanted a way to preview the current document without leaving the app, so I took a few minutes to write an AppleScript which does that. If you haven’t previously saved the document, you’ll be prompted to. Once the document’s on disk it’ll open up in Marked.

    Add it your [!~/Library or ~/Dropbox]/Application Support/BBEdit/Scripts/ to launch it from the scripts menu in BBedit, or using script launching app like Alfred or Launchbar.

    https://gist.github.com/1938323.js?file=BBedit-Preview-in-Marked.scpt

    → 11:14 PM, Feb 28
  • Closeby 1.0

    A new app I created called Closeby is now available on the App Store. It uses your address book to tell you how far you are from people you've saved addresses for. Closeby is great if you're visiting a town you don't live in, are stumbling home from a bar and need the closest couch to crash on (I take no responsibility for the damage this does to your personal relationships), or just want to see all your friends addresses on a map.

    → 4:19 PM, Feb 27
  • Logging NSData Containing String in the Debugger

    I'm trying to eliminate ever using log messages in my code for debugging. I'm sure a a lot of people already know this, but if you ever need to log an NSData you know contains a string in the debugger the command is:

    po (char *)[data bytes]

    → 4:02 PM, Feb 27
  • Other Developer Tools Location in Xcode 4.3

    Incase anyone else was wondering Instruments, FileMerge and the rest went in Xcode 4.3:

    Other developer tools

    → 2:39 PM, Feb 27
  • Archival Clothing Snapshots From Portland

    Archival Clothing:

    Snap views from last month's field trip up to PDX.

    The Archival Clothing folks took a trip to Portland and snapped some great photos while they were here. They even stopped by the coffee shop I used to live near.

    → 2:18 PM, Feb 27
  • 12 Million. Ever.

    parislemon:

    Across all the various OEMs that make Android tablets, 12 million have been sold in total. Ever. For context, Apple sold 15 million iPads last quarter.
    → 2:10 PM, Feb 27
  • Manton's Follow-Up on Sandboxing

    Manton Reece, on sandboxing for Mac apps:

    I'll admit I have some regret leaving the Mac App Store. It's just so convenient for purchasing and installation. If I'm going to make this work, I'll have to redesign my own rather clunky purchase and activation experience. And I'll have to do a much better job of marketing, something that has not been easy with Clipstart.

    I don't envy anyone who's facing this problem. I feel like Apple needs to rethink what they're trying to do with Sandboxing; giving developers more time is not the answer. The problem is that to many useful apps just aren't going to work with sandboxing, and others are going to need to compromise their users experience in order to accommodate it. I think of Apple has a company who puts the experience of their users first. Forcing apps to fit into a mold this restrictive is forcing them to implement work arounds for things that were never a design problem to begin with, or be left out of the biggest venue to get their app in front of the majority of users.

    → 4:08 AM, Feb 26
  • Xcode Build Script for Automatically Updating CFBundleVersion

    Since Git doesn’t create numeric build numbers, I haven’t known exactly what to do with my app’s bundle version (CFBundleVersion) since switching to it. According to Apple CFBundleVersion needs to be “a monotonically increased string, comprised of one or more period-separated integers.” My previous (bad) solution was to sort of ignore this and just update when I release a new version. Now that I’ve started using Hockey for beta relases, it requires a unique number for every build, so I need to start paying more attention to it. It’s for the best since it’s better to give this number some significance.

    I didn’t want to have to update this manually every time I send a beta build, so I started looking for an Xcode build script that could generate something like this for my ad hoc and App Store builds. Since I didn’t really like any of the code I saw, I decided to write my own using Python, and while I was at it set it to also commit and tag the build in Git.

    You can add this as a “Run Script” build phase in Xcode (make sure you set the shell to /usr/bin/python). The only line you should need to update is configurations_list = [‘Beta’, ‘App Store’] to be the names of the configurations you want this to run under. You’ll also need to set your CFBundleVersion to a start point that’s a whole number (0 for example). If you want this to work with a different SCM, just update the os.system lines to run the right commands for your system (or take them out all together if you don’t want that feature at all). For a configuration called App Store, I have the commit message set to be “Automated Commit For Build 25. Configuration: App Store.”, and the tag to be “AppStore_25”. You can change that if you like.

    Of course, I take no responsibility if anything bad happens to your project, but it seems to be working great for mine.

    Update: There’s a bug where this will cause simulator builds to fail if you don’t set your “Mac OS X Deployment Target” to 10.7 in your build settings.

    https://gist.github.com/1867148.js?file=ALBUpdateBundleVersion.py

    → 8:46 PM, Feb 20
  • Christa on Designing Piezo

    This post by Christa Mrgan on the evolution of Rogue Amoeba’s Piezo is awesome. Also love that it started life out as “Simple Audio Hijack”.

    → 6:14 PM, Feb 16
  • MacDrifter on Switching to BBEdit

    MacDrifter:

    It was worth the investment. I don’t mean just monetarily. I invested many hours into BBEdit and I’m sure there are many more to come. But it was worth it. I have an environment that I feel productive in.

    It’s been my default editor for a couple of months now, and I thought this was a really good in-depth post about the pros and cons of BBEdit.

    → 7:26 PM, Jan 30
  • Still Using Siri

    Marco Arment responding to Boris at The Next Web on Siri

    But I still use Siri. My wife still uses Siri. Last night at dinner, my friend used Siri. I don’t think Boris and his friends are a representative sample.

    Count me in as well. I use Siri all the time for setting timers, sending text messages and looking things up. A lot of times it’s just faster for me to talk than type. I’ve also seen nowhere near the 50% failure rate Marco reported. If I did, I’d probably use it a lot less.

    → 10:47 PM, Jan 28
  • Thunderbolt Audio Interfaces From Apogee and Universal Audio

    Apogee Symphony 64 Thunderbolt:

    The latest addition to the Symphony I/O module line-up, the 16x16 Analog I/O Module allows you to pack 32 channels of premium Apogee conversion into one Symphony I/O (two module spaces per chassis). No other audio interface delivers this much quality input and output or value in a single 2U rack space interface.

    Apogee is well known in audio recording, so this is really exciting if you’re into that. Universal Audio also announced a new Thunderbolt audio interface called Apollo that looks awesome for project studios. Even if you have no interest in high-end audio gear, if you’re a Mac user, it’s exciting to see device makers of this caliber start using Thunderbolt.

    (via The Loop)

    → 7:44 PM, Jan 20
  • xScope 3

    I’ve used xScope whenever I’ve done user interface work for the past couple of years, and it’s indispensable. My favorite new part of xScope 3 is that it shows more of the info I want for iOS and Mac development (colors especially), without any conversion. The new iOS-centric templates in the Screens view look really useful also. If buy now you can get xScope on the Mac App Store for only $19.99.

    → 7:16 PM, Jan 20
  • Slender for Mac and iOS Developers

    My friend Kyle Richter has released his new app, Slender. It’s a simple and attractive way for iOS and Mac developers to figure out things like which images in your app are unused, or are missing their 1x or 2x sized counterpart. It’s only $4.99 on the Mac App Store, and I can already tell I’m going to use it on every app I write in the future.

    → 6:37 PM, Jan 17
  • 360|MacDev 2012

    360|MacDev is in a few weeks, and if you write — or want to write — Mac software, you should be going. You may be more familiar with John’s other conference, 360iDev. These conferences are at the top of a short list of ones I never miss. John and Nicole work hard to get great speakers, make sure everything goes smoothly and create an amazing environment. I’m pretty sure they’re they’re the hardest working people in the conference business.

    I’ll be giving a talk on making apps work better and be faster by using Core Data, GCD and using good app design. I’m also looking forward to the other talks: Brent Simmons is going to teach the secrets of creating successful Mac apps, Dave Wiskus will bring us inside the brain of a good designer, Kyle Richter will get all of the iOS developers up to speed and Mike Lee will once again do something amazing that I can never predict until it happens.

    So join us in beautiful Denver Colorado, February 3rd & 4th — it’s a crazy amount of content for only $300. Register now if you haven’t already.

    → 7:31 PM, Jan 15
  • Why Brent is Trying Bing

    It wasn’t the crap, it was losing trust:

    Running a search at Google was starting to feel like walking through a minefield. I’ve trained myself to be careful where I click, because I might step on a +1 explosive or get blown to bits by surprise double-chevrons.

    But I still used Google search, because I trusted the search. Now I don’t.

    For any company, users trust is a hard thing to gain, and once lost nearly impossible to get back. I think if you’re a company who has it, you should do everything you can to keep it, and never assume your users have nowhere else to go.

    → 12:32 PM, Jan 13
  • Five Years Ago in San Francisco

    Five years ago today, Apple announced the iPhone. I was living with my girlfriend at the time in Sacramento, and I was home from work before her. When she walked in, I already had the video ready on the Mac Mini I’d just bought her for Christmas.

    I remember exactly what I said when she walked in the door:

    “Do you want to see the most amazing fucking thing you’ve ever seen in your life?”

    → 11:42 PM, Jan 10
  • Learn and Work Hard

    The Mac App Store turned one a couple of days ago, and it’s gotten me thinking about the past few years, where I am now, and where I want to be next. I’ve also been thinking about the path that led me to obsession with the Mac, later iOS, and eventually getting to make things for both.

    The announcement of the iPhone SDK was, for me, what I imagine the original Macintosh was for people a generation older — huge. For me everything changed, because it let me start a career doing something I love. But before I could get a job making iOS apps — before there were iOS apps — I’d already been absorbing and obsessing over everything I could about Mac development. By 2008 I wanted nothing more than to be a Mac developer.

    In high school (and a while after), I was more interested in practicing with my band than teaching myself C[1]. When the band broke up a few years later, I ended up the same place as many early twenties wannabe rockstars before me: Guitar Center. Even though I quickly learned to dislike the job[2], it’s lucky I was there, because it spurred my interest in Apple and the Mac. As part of the “Pro Audio” department, my work days were spent around other recording nerds — a generally Mac-oriented group. I started meeting people who loved their Macs, recorded using Logic, and were eager to talk about both. Within a few months I’d saved up and bought a used G5 tower.

    Always a nerd, I started looking at what software was out there for my new Mac. I became enamored of apps like NetNewsWire, Delicious Library and Transmit. Maybe I’m coloring the past, but I feel like the sense came early of these not being just made, but crafted — the same way a great song or album was. Small groups of people — maybe one — had put time into thinking things through to make something great. It was the first time I knew software could be that way, that it could be made by one person who really cared — and that if I worked really hard, I could probably do it too.

    As I got into learning Mac development, I found things like Late Night Cocoa (also just getting started), and got to hear indie developers talk about what they do. It didn’t seem to matter where someone came from if they could make cool things, and that was hugely inspiring to me. I didn’t know exactly what it would take, but I became progressively more driven to keep learning and eventually become an indie developer myself. No one could tell me “no,” I just had to learn and work hard.

    The iPhone SDK was the opportunity I needed. I got a job shortly after it was announced, and became focused on iPhone apps. I still wanted to write for the Mac too, but since the places I was working were mostly interested in iOS apps, I didn’t know when that would happen. That interest came with the release of the Mac App Store, and this year I’ve gotten to work on awesome Mac apps in addition to ones for iOS. It makes me happy that the thing I got so excited about in the first place has continued to grow and thrive, and even more that I’ve had a chance to be a small part of it.


    1. I was still a pretty big nerd, and played around with programming on and off since I was young.  ↩

    2. At one Guitar Center staff meeting, our store manager told us about how he always wanted to be an artist or musician, but chose the less-risky life of retail management instead. He was very clear in saying that it’s better to not take chances, and that it was a lesson we should all remember. I’ve tried my best to remember to follow the exact opposite of that advice.  ↩

    → 5:18 AM, Jan 9
  • Coding Isn't Necessary, But It's Good to Know

    I’ve been talking with friends and reading blog posts in the past few days over the idea of more people learning to code. The discussion was inspired by Code Year, a new online course created to help people learn programming. At the time of writing this, nearly a hundred and fifty-thousand people have signed up. Daniel Jalkut equated learning to code to literacy, as a basic skill that people will need in the future. Guy English disagreed with that, saying that coding is not the new literacy, but instead the new “tinkering with the engine, the new re-wiring the house.”

    I agree and disagree with both for different reasons, I disagree primarily in that I think both positions are more extreme than I see it. On one side there’s an implication that everyone should learn to code, and that anyone who doesn’t may be left behind by society. On the other it seems that creating software is only for extreme tweakers, and that most people will find nothing of value. Both posts are well written and insightful, so please read both incase I’ve misrepresented either point of view in any way.

    I think there’s a value in learning to code that does not equate to creating something as complex as web sites or apps. I also don’t think it’s as basic a skill as reading and writing, one that if you don’t learn will cripple your opportunities in life. Learning to write small scripts to automate tasks and control your computer can bring value — and possibly enjoyment – to a lot of peoples who are never going to write anything bigger than that.

    So, instead, maybe learning to code is the new sewing your own buttons back on, or changing a tire on your car. Or, maybe it’s the new learning a musical instrument – there’s a lot of people who get a lot of enjoyment out of playing an instrument who are not artists, and will never develop mastery level skills. It still improves their lives.

    In fact – maybe coding isn’t the new anything — maybe it’s just a good thing to know if you have time and interest to learn it.

    → 7:18 PM, Jan 6
  • Article On Portland Coffee Culture And Home Brewing

    Willamette Weekly:

    Why is Portland, of all places, the capital of American coffee culture? There’s no overt explanation why a city celebrated for its slacker attitude also devotes so much energy to the roasting and consumption of high-grade joe.

    A pretty good article from last April that I just read. Talks a lot about coffee culture in Portland, and why the pour-over has taken over in good coffee shops where $10,000 machines that were the standard a few years ago. Towards the end it gets into a few methods for home brewing, although notably leaves out describing the Chemex, or any of the single-cup pour-over methods it spends the first part of the article talking about.

    → 5:25 AM, Jan 6
  • Essential Tools 2011

    After reading Justin’s list of his favorite tools for power users and developers, I started to think about some of my own. Of course since Justin has great taste, and we use a lot of the same things, it’s going to make ripping him off directly and playing dumb later much easier[1].

    Non-Software

    • 13" MacBook Air
      I was using a late 2008 MacBook Pro, and as soon as the current generation came out I bought one. It immediately became my main development machine. It feels crazy fast, light enough to take places and small enough to open on an airplane. It’s my favorite Mac I’ve had so far.
    • Archival Clothing Flap Musette (Laptop / iPad Bag)
      I don’t care if you call it a man purse[2], I take this thing everywhere. I use it as an iPad or laptop bag and it’s been perfect for that. It’s small and rugged, but big enough to stuff a power cable, Field Notes book, and a copy of the New Yorker in. Plus it’s made locally.
    • Chemex Coffee Maker
      Most developers I know enjoy coffee, and I think if you’re going to do anything you should do it the best you can. The Chemex is my daily driver for coffee making. It’s a pourover type that easily makes enough for two people, is extremely easy to clean and makes great tasting coffee.

    Mac Apps

    • OmniFocus for Mac
      I live in OmniFocus, and keep as much of my life in it as I can. The reason I think it works for me where other apps haven’t, is that it doesn’t enforce a specific workflow so much as provide a foundation to create your own. I’m not sure everyone needs that much flexibility, but I choose to use it because I know it’ll scale to whatever my needs are.
    • NetNewsWire
      I’ve gone back and forth with RSS readers this year, but came back to NetNewsWire on the Mac because it shows me what I want to see so I can get through a backlog of feeds quickly.
    • Byword
      A simple and attractive text editor which makes writing in Markdown even easier by being aware of Markdown syntax, and providing key commands for the most common Markdown functions.
    • Marked
      The primary use of Marked is as a Markdown preview app to compliment whatever text editor you’re writing in. It didn’t sound like something I needed, until I started using it. Now I keep it open next to Byword or BBEdit whenever I’m writing anything of length.
    • 1Password for Mac
      Because I let 1Password generate and store all of my passwords, I never worry about password related security on the web. It’s the only app I feel like I need to have set up before I can start using a new Mac.
    • BBEdit
      I use it as a scratchpad for Objective-C, writing longer things in other languages, and for reformatting things like JSON to be more readable using text filters. I also use BBDiff a lot of the time when I have a complex merge of two source files to do.
    • Kaleidoscope
      It turns out that I do have a use for a really good file comparison app that doesn’t do merging (although I’d love to see that feature). It’s my favorite tool for checking what I’ve changed before making a commit.
    • Acorn
      I’ve been using it since 1.0 and it’s still the most Mac-like image editor.
    • GitHub for Mac
      The only Git client I’ve found to have any use for me, because it doesn’t try to replace the command line. Instead it just makes the things that suck the most on the command line easier.
    • Alfred I just started using this, after using Launchbar. The script launching and search filters are the two best features for me. I use search filters for things like only searching source code and related files.

    iOS Apps

    • OmniFocus for iOS
      Having these apps is a really big part of what makes my whole task management system work. They give me the ability to review and capture tasks wherever I am.
    • Elements
      I use it to make all of the notes I take on my Mac accessible on the go. One cool use for me has been creating a big travel document using Markdown on my Mac that gets synced automatically to Elements. By doing it this way I have the document backed up in at least three (Mac, Dropbox, Elements) places, so it’s unlikely I’ll end up stranded.
    • 1Password for iOS
      Another great Mac app that would be useless to me without a mobile companion that works.

    Services

    • Squarespace
      I host my company site, and this blog on Squarespace. I haven’t run into any show stopping drawbacks, and they make hosting a nice looking site really easy. It costs a little more than some other options, but I don’t worry about reliability and have to do a lot less tweaking to get things acceptable.
    • Dropbox
      Anything that I don’t want to lose goes in Dropbox. It also makes getting things done on the iPad feasable for me.
    • TestFlight
      Managing a beta for an iOS app before TestFlight was a nightmare. Now it’s easy.
    • Instapaper
      Using Instapaper lets me manage my time attention better than I could without it. I’m able to read a lot more longform articles than I was before by scheduling time for it.

    1. That was a joke.  ↩

    2. That’s a lie, I get crazy touchy about it.  ↩

    → 6:30 AM, Jan 4
  • Woody Guthrie's New Years Rulin's

    Thirty-three “New Years Rulin’s” from Woody Guthrie’s journal on January 31st 1942. It’s hard to pick my favorites (the entire list is great). I really like number one: “Work More And Better”, and number three: “Wash Teeth If Any.”

    → 4:32 PM, Jan 3
  • RSS
  • JSON Feed
  • Micro.blog