Tuesday, January 23, 2007

On Design: Paper Prototyping

On Software DesignA List Apart just posted something on Paper Prototyping, and if you ever have to design complicated software with complicated user interfaces, this is a GREAT place to start. I've used this process many times in the past, both for design and for usability studies and I can highly recommend it, it's in my standard bag of UI design and usability tools. Granted, it's really more geared towards the corporate environment, where there are usually more people involved, than the indie one, but I can attest to it's usefulness.
I cannot emphasize enough how important the inclusive quality of paper can be. Though some people shy away from paper prototypes because they feel they will not be taken seriously, I argue that many people are intimidated by a formal, highly technical design process and that the less "professional" nature of paper prototyping is a great way to lighten the mood and engage a more diverse group. Just offer plenty of paper, pens, scissors, and other materials for anyone to grab and use. If anyone feels nervous, let them eat the paste.

It's true. It's SO low tech, it's almost silly, but at the same time, people's "fear" of software can seem to disappear. It's only paper and processes, right?
Paper prototyping can also help improve the final product: the prototyping stage is the right time to catch design flaws and change directions, and the flexibility and disposability of paper encourages experimentation and speedy iteration. Instead of "deleting" hours worth of layout code you've used to position a column in the right place, you can draw a prototype, throw away the ideas that don't work, and move on.

Not to mention the fact that in many corporate environments, people often get WAY too hung up on the look and feel of prototypes done in software. They are just too close in their minds to working software, at least in look, and this leads to frequent problems where too much time is wasted debating the exact layout, colors, and fine points of the design. Paper avoids all of this. A sketched table is just that, it's an abstract table, and people have no way to get into the exact column names, icons, graphics, etc.

At any rate, I like to write on software design here and point out things I've read from time to time, and this article is a great intro to the idea of paper mockups. It's a worthwhile read.

Apple's Leopard Tech Talks - A Very Good Thing

I was at Apple's Boston Leopard Tech Talk yesterday, and I have to say, overall it's a nice nod from Apple to their 3rd party developers. Because I wasn't able to attend WWDC this year, a bunch of things were new to me. It's one thing to have the Leopard seeds, but it's another to figure out everything that is new on your own. The tech talks did a good job of filling me in on a bunch of new things I missed. The whole conference was under NDA, but I can say that Apple clearly REALLY wants us to write specifically for Leopard and I have to tell you, they are giving us many, many compelling reasons to do just that.

The tech talks are also a great opportunity to network and meet and put faces to people you know from blogs on the Mac web. I met Daniel Jalkut of Red Sweater and Paul Kafasis of Rogue Amoeba, someone I was surprised to find out was actually in Somerville, a long stone's throw from where I lived for many years. (BTW he's writing a really great piece right now on attending Macworld as a small company, and this is a must read for all of us thinking about/wanting to do this.)

Bravo Apple for doing this for us, and for free even.

Thursday, January 18, 2007

MacGourmet 2: The Best Way to Collect Recipes on Your Mac

So you love to cook and you've been collecting recipes and cooking tips for, what, ages now? They currently exist in text files, web pages, notebooks and scraps of paper. What are you to do to finally bring some organization to all of this?

Enter MacGourmet, the latest version of the leading recipe application for Mac OS X that can bring some order to your culinary life and give you ways to share that information.

MacGourmet makes it easy to organize your recipes, along with any cooking or wine notes you have, in the same way that you organize your music files using iTunes, or your photos using iPhoto, using methods that are already most likely familiar to you. All of this is wrapped in an all-new, clean and simple iApp-like user interface. Smart lists, user lists with sublists, they are all there, as are lists that show you your last imported items, find results and clippings.

Speaking of clippings, they are just one of the ways that make it easy to get your information into MacGourmet. Just select the text of a recipe on any web page, choose the menu item for the Service to create a clipping, and import it using the import assistant. The recipe is imported in seconds, it couldn't be much easier. MacGourmet also imports recipes stored in MasterCook and Meal-Master files, files you can find all over the internet. Even more formats are planned for the future.

It's one thing to have your collection all in one nice, convenient location, but what if you want to share or use them when you are cooking?

Sharing your recipes is easy, with MacGourmet's .Mac support. Publishing your recipe website is as simple as entering your account information, picking one of the many themes that MacGourmet comes with, and saying "Go!" It's that simple. Publishing can even automatically generate MacGourmet files to make sharing your recipes with others from your site a breeze.

How about MacGourmet in the kitchen? Well you can either bring your Mac to the counter, and use the Chef View, with its display optimized for reading from a safe distance, or print out the recipes you need using one of the many easy to use and read printing themes.

Finally, there are lots of other great features in MacGourmet, like blog publishing, browsing all of your information in one place and emailing recipes. The best way, though, to get started and learn about everything MacGourmet has to offer, is to download the demo and put it through its paces. The demo let's you use every single feature, so you can get a feel for how well it works before you buy it. Try it today and get organized!

MacGourmet: Organize. Shop. Cook.

MacGourmet 2 is available as a free upgrade for registered users, and for $24.95 from the online store. Voluntary upgrades with extra content, themes and an exclusive t-shirt are also available for $10 and $15. Finally, anyone who purchases MacGourmet or an upgrade bundle before January 31st will be entered into a drawing for one of 2 iPod nano (PRODUCT) RED Special Editions. MacGourmet 2 is a universal binary and requires Mac OS X 10.4 or later.


Wednesday, January 17, 2007

MacGourmet 2: A Development Post-Mortem

On Software DesignIt's always my intent to document the process of development here, and one good point to do this is always after a new major version is released. A post-mortem is a great way to look back at what went wrong and what went right in a development process.

Looking back, now that MacGourmet 2 is out, I can say that things took longer than I intended them to take. What caused this? Well version 2 had two major internal changes that took a lot of the development time. The first was the switch to the latest version of the SQLite database. Why was the switch made at all? Well the new database format needed to store a lot more information in version 2. SQLite 3 is also much faster and generates a much cleaner, smaller database file, in addition to being the version that Apple is using for CoreData (MacGourmet still uses its own version of SQLite because it predates CoreData by probably close to 2 years). Doing this, unfortunately required migration from one database to another, which wasn't trivial. This has to be done right, and it has to be tested, tested, tested. This was why there was a somewhat lengthy closed beta. This had to be right before released into "the wild."

The second major change was brought about because I added customizable table columns in the recipe box. This necessitated a switch in functionality between the "My Lists" section on the left and the list of items on the top right. This kind of needed to be done already because, since the time when MacGourmet was first created (MacGourmet was started around October of 2003, and it's first public release was in June of 2004), Apple has added sublists to the source list on the left of their iApps. When version 1 was created, every iApp was limited to one level in the source list. What did this mean? Well it meant a lot of recoding and a lot more testing. These interactions, drag, drop, selections, are probably the most involved.

What else caused a delay? Well Apple announcing Intel Macs at Macworld 2006 and shipping them in February greatly sped up my plan as to when I was going to do all of my universal binary work. They had originally said that there would be no Intel Macs until around July. MacGourmet 1 benefited, because I had a universal version available a lot earlier than I had expected, but it also set back other development. I was almost hoping that only version 2 was going to need to be a universal binary.

Making MacGourmet universal actually wasn't that bad, the hardest problems were with 3rd party products I use. I had to wait for eSellerate to update their framework, and when they did, they required a switch to a different SDK, so that was a project I wasn't expecting to have to spend time on. Because I use my own SQLite build, I also had to build both SQLite 2 and SQLite 3 as universal binaries. Again, more work I would have preferred not to do when I did it.

Another thing that took a lot of time? All of the new themes. I tried to offload these, and actually did offload a lot of the graphic design, but in the end, I wound up doing all of the html and CSS for them myself, because, well they needed to be done, I knew I could do them, and I got tired of waiting for someone else to do them. I'm kind of like that. I'm a firm believer in "if you want something done, and done right, you often have to do it yourself." I'm working on offloading more of this stuff so that I can write more code.

Finally, an all new version requires new documentation, a new site, and new packaging (in my case, as I have a CD edition available). Like most indie developers I do a lot of this work myself... and unlike writing code, working on these tasks, at least to me, is like having teeth pulled. I offload what I can, like graphic design, but I can be kind of a control freak, so if I need something done, and I'm able to do it, I wind up just doing it, but this all takes time. I need to offload more of this in the future, and again I'm working on that.

So, nothing really went terribly wrong, so what went right? Well one thing that springs to mind is the beta test. The people who downloaded and used the beta did a tremendous job helping get things ready to ship. Feedback was great. A lot of people seemed to be new to beta testing so I think next time I may need to add a primer on the process for first timers. Why do I say this? Well a surprising number of people wrote to me worried that the beta expiration date would leave them without the use of their application. At least with the way I run things, this will never happen. There will always be an update out prior to expiration that at the very least extends the beta period.

One thing I will say is that doing an all-new version 2 is a lot different from doing a version 1. For one thing, while you are working on the new version, people are still buying, using and needing help with the current version. This can be a time-sink and it was a challenge to balance the two some times.

Some additional release-related quickies to remember the next time I do a major version release:
  1. Don't pick the week of Macworld, unless you're showing AT Macworld. Too much news, and the minute your news release is posted, it's pushed off the front page by the myriad of posts after yours. Pick a slower news time if you can. If you DO pick this week, send your release later in the day, EVERYONE seems to post in the morning, so your release disappears that much quicker.

  2. If you are dropping version support for an old version (in MacGourmet's case, 10.3.9), even if the update is free, you can't display this information in enough places. People will still download it, run it and wonder why it doesn't work. Big stickers screaming "THIS REQUIRES MAC OS 10.4 OR LATER" would probably help, but probably not.

  3. Pray, PRAY that all of your systems cooperate. The day of the release the websites went down, and from 2PM that day until about 24 hours later, for some reason I wasn't been able to talk to my POP server to get my email in my normal way. Then, I went into the office, and found no network at all. Frustrating.


Friday, January 12, 2007

More iPhone 3rd Party Developer Information Surfaces

Third-party development opportunities have been hot on the minds of indie Mac developers everywhere since the keynote. Now, more and more news on the topic of whether or not 3rd party Mac developers will be able to create software for the new iPhone has gradually been trickling out, including comments on the topic from the Man himself:

From the New York Times:
Moreover, Mr. Jobs also appears to be restricting the potential for third-party software developers to write applications for the new handset, like ring tones and word processors ... Mr. Jobs is moving in that direction, too, but it appears that he wants to control his device much more closely than his competitors do.

"We define everything that is on the phone," he said. "You don't want your phone to be like a PC. The last thing you want is to have loaded three apps on your phone and then you go to make a call and it doesn't work anymore. These are more like iPods than they are like computers."

The iPhone model, he insisted, would not look like the rest of the wireless industry.

"These are devices that need to work, and you can't do that if you load any software on them," he said. "That doesn't mean there's not going to be software to buy that you can load on them coming from us. It doesn't mean we have to write it all, but it means it has to be more of a controlled environment."

Software developers at Macworld Expo, the trade show where Mr. Jobs made the iPhone announcement, said they were taking a cautious attitude about the phone. Several said that much of the phone's usability would depend on what added functions Apple decides to place in the version of the Safari Web browser that is part of the system.

If there is an Adobe Flash player available for the iPhone, and if it supports the Internet standards that are being widely used by the developers of a proliferating array of Web services, Apple's decision to restrict software development may not matter. -- Steve Jobs Walks the Tightrope Again

There will also be no Flash and no Java on the iPhone, according to David Pogue, in his Ultimate iPhone Frequently Asked Questions:
Can it run Mac OS X programs? -- No.

Can I add new programs to it? -- No. Apple wants to control the look and feel and behavior of every aspect of the phone.

Does the Web browser support Flash or Java? -- No.
This follows more "confirmation" statements that the iPhone will, at least initially, be a closed system. So what does this mean? Well it means that, unlike the Mac, and unlike a lot of the smart phones on the market right now, there will be no easy 3rd party opportunities for creating applications for the iPhone. The box is "invite only" if even that. No Flash or Java would mean that you can't even work around the limitation by delivering web apps.

As much as it disappoints me, I can sort of understand what their goals are. It's really just Apple being Apple, and this isn't a desktop Mac. The needs of most cell phone users are much more limited in scope (note I say MOST), so it's clearly in their best interest to control the access and the experience.

My guess is that in the future you WILL be able to add apps and widgets, but only at Apple's discretion, and only by purchasing them through the iTunes store. This means that a lot of us will be shut out of the party, like we are now from Apple's retail sales channels. Still, things could change by June or sometime after, we really don't know all of the long-term plans. It's possible that Apple will open channels up for Select and Premier developers and put their apps through a quality and assurance process after which they can sell their apps, but I really don't see the iPhone ever being an open market like the Mac software market is now.

Links via John Gruber at Daring Fireball.

Thursday, January 11, 2007

TUAW: Get Your Hands on an iPhone Right Now

I love the creativity here: Get Your Hands on an iPhone Right Now. Too funny, but hey, if you're really jonesin' for an iPhone hands-on now, this is about as close as most of us can get to one.

Tuesday, January 09, 2007

My Macworld 2007 Reactions

Well, I feel like I'm a kid on Christmas morning, and I've got the glow of having opened a lot of great presents. Of course these presents will cost ME but that's OK.

Apple's Macworld keynote was all about one thing really: iPhone. I must say, I'm impressed, and I want one. I already have Cingular so this isn't a problem for me. The fluid, changeable user interface is absolutely beautiful. It's completely touch enabled, with lots of subtle but meaningful animations. When you look at the UI, I think you may be looking at the direction the Leopard look and feel is moving in, even though we haven't been shown anything. I think you will see these colors and textures show up to finally replace Aqua, and I'm excited for it.

If you go to Apple.com you can see lots of movies of the new iPhone UI in action. It looks like streamlined apps and widgets really. Music and video look look awesome. The screen appears like it's amazing to look at. It's a widescreen video iPod, as rumored.

The phone features look really cool and easy to use. It's so much better than any phone I've seen. With big, clear buttons and an interface that changes to accomodate phone actions, you can easily call people from your list, even conference call people. Beautiful interface to my address book, SMS that is essentially iChat for the phone and a really nicely iPhoto integrated camera, and a real user interface to my voicemail? Wow.

The internet device apps look easy and functional. Mail looks simple but usable. Safari also looks nicely minimal, though honestly it remains to be seen if browsing the web on the iPhone is any better than any other handheld device. My HOPE is that a lot of Mac sites build stylesheets for the phone, so at least the Mac web will be easy to use. If you're at home, browsing and networking traffic will use your WiFi connection, instead of using Cingular bandwidth. Browsing from the couch just got easier. Maps, well that has the possibility to be awesome. Beautiful Google maps and satellite images in your hand wherever you are? Wow. The widgets look neat as well, but my big question is "will we Mac developers be able to build new apps and widgets for this thing?" I have ideas already, I'd love to be able to make them happen. 3rd party apps for this device would be killer. We'll have to see. It's OS X after all... Please Apple, let us develop for the iPhone.

Next up is Apple TV. I want this too, even if it is really just as I'd feared, essentially an Airport Express for video with internal storage. The Apple TV does output 720p, which is HD, so it looks like they did indeed upgrade the video from the store, assuming you can buy your movies in this res (why not?). I still hope they add recording at some point, but it looks like that's not in the cards.

Not mentioned but also released, was the new Airport Extreme. Stephan pointed this out in his reactions blog post. It is not only WAY faster, but it now looks like Apple TV or the Mac mini, and in addition to doing wireless printing, you can now also add wireless storage, creating a shared NAS drive. This alone is worth the upgrade I think.

So yes, Jobs unveiled the iPhone (called, surprising the iPhone) and the Apple TV. Neither of these were real surprises. What WAS a surprise was the lack of information on ANYTHING else. No Leopard, no iWork. I thought these were a given and I know I'm not alone. I guess WWDC will be "The Show" for Leopard again maybe, I'm not sure.

Even though we didn't get to see everything we expected, I can still say... it's a great time to be a Mac geek. :)


Apple Needs to Make the Macworld Keynote Pay-Per-View

Here I am, on the morn of the Great Keynote (all praise to lord Jobs), working to make sure I have everything done that I need to have done before 12 EST and I realized I'm preparing for, what, 2 hours of refreshing a web page to get live news?

Great. I can't understand why in this day and age, the keynote isn't shown via some kind of pay-per-view. I mean, come on, I've paid full price for movies that length that I didn't enjoy nearly as much as I'm guaranteed to enjoy the typical keynote. Why NOT let us pay to watch it live!?! I'd pay! Money well spent!

Monday, January 08, 2007

Announcing MacGourmet 2!

I'm pleased to announce the release and immediate availability of MacGourmet 2, the all new version of our application for organizing your recipes wine and cooking notes. Version 2, an all-new version of our popular Mac application that adds many new user-requested features, is a free upgrade for current registered MacGourmet users. Version 2 can be purchased online for only $24.95.

As mentioned above, MacGourmet 2 is a free upgrade for registered users. Just enter the serial number for version 1, if you haven't already (you should have received it in your order confirmation), and you should be all set.

The full details can be found at MacGourmet.com along with information on giveaways and extras.


Tuesday, January 02, 2007

SQLGrinder 2.0.4 Now Available

SQLGrinder version 2.0.4 is now available.

This release fixes a MySQL problem retrieving certain data types and an AppleScript problem, among other things.

Please see the release notes page for the full list of changes.

SQLGrinder 2.0.4 can be downloaded here.

SQLGrinder 2 is available for $59. Version 1 serial numbers can be upgraded to the latest version for only $19 by sending your current registration information to sqlgrinder [at] advenio.com.

Monday, January 01, 2007

Macworld 2007 Predictions

It's that time of year again, and it's time for my own personal predictions of what we'll see at Macworld. Note that these things are only based on my idle speculation, not on any insider info.
  • Leopard Fully Unveiled - Expect Jobs to take the wraps off of Leopard, fully this time. WWDC allowed access to enough of Leopard to let us get familiar with the underlying technology, but expect the curtain to be pulled back at Macworld. What do I expect? A newer, smoother look to OS X. Think about it: Aqua is from the days when Apple was producing hardware that was colorful and translucent, just like Aqua is. None of this is true any more, so expect Leopard to more closely resemble what we see now: smooth, sleek, clean lines with no more brushed metal, and no more bubbly buttons. Think the unified look but system-wide. We'll get a ship date, but it will be later rather than sooner.

  • Spotlight: Redux - This HAS to be a candidate for a redesign. What we have now is awful, it's by far one of the most poorly designed pieces of the OS and always feels so out of place with the rest of things. I curse it every time I try and use it. It's such a great idea, but the main UI is so poorly implemented I have a feeling it goes unused half of the time.

  • Updated iWork and iLife - These are a given, aren't they? I'd expect iWork to finally include the much rumored spreadsheet. iLife will more than likely include incremental updates and a much improved iWeb.

  • iTunes Store Gets a Quality Bump - I think we might see Apple increase the video quality, again, joined by a long overdue increase in the music download quality. I buy a lot from the store, and I'd love to have all of it lossless.

  • iTV - Or what will more likely be called something like Mac Media Center as iTV is not going to be the name. We already know that it will allow you link your Mac and your home entertainment center. The big question is "so what?" Just that alone isn't totally compelling. Let me record content and dock my iPod and now we're talking. I think the rumors of it having an internal disk are true, so the next logical step is recording, right? Maybe. That disk could also just be used for caching as well. I have high hopes for this, but fear it will just really be an Airport Express that supports video and disk caching.

  • Updated iPods - Expect updated iPods to be announced, along with record sales over Christmas. Will these new iPods have wide screens? Hard to say, maybe the new iPods will really just really be the product in my next prediction:

  • The iPod Phone - Yeah, I think this will be Steve's "One more thing." It's just been too long coming, and this would be a BIG thing to debut. Let's face it, phones suck. The interfaces are terrible, and we all know it. They are currently just one big mish-mash of features all thrown in there with no cohesive plan (at least by appearances anyway). I'd personally love to see a brushed metal Nano-like phone that opened up the OS to developers, the same way Apple has opened up the iPod for games development. I still think that dual batteries would be a must for reliable usage. It's quite possible that any new iPods shown will really be the iPod phones.

So there you have them, my own predictions. I don't think we'll see a new ultra-thin laptop (though I'd personally kill for one). I don't think Jobs will use Macworld to announce new Cinema displays with built-in iSights, he can do that any time he wants. I also don't think we'll see new Pro hardware, that's usually shown at WWDC.