Boom! It was pretty simple to fix.
It’s been frustrating me for a couple of years now how the Spotlight Search index on the iPhone seems to “hang around” much longer than one wants. The problem arises when deleted emails apear in Spotlight search results.
The fix is simple:

Happy days.
So I sat down on the couch this morning with my new book Dependency Injection in .NET by Mark Seemann. I’m realy looking forward to this.
The reason for this post is more of a personal experiment. I’m interested in seeing how my expectations of the book will compare to my findings.
I certainly wouldn’t call myself an expert on DI/IoC or great interface design in general. It was only recently that I learnt how bad Service Locator was. Yeh, it’s ok, you can laugh. I do have what I think is a reasonable understanding of DI frameworks (I’ve been using StructureMap for a couple of years and more recently Autofac) but as I’m learning, that does not mean that I understand DI.
What I’m really hoping to get from this book is better design. It seems reasonable to me that DI and interface design is core to building maintainable applications; and it seems logical to infer that an application whose codebase is maintainable is designed well. Yes, I’m eager to learn more about IoC/DI but I’m much more excited to harness the underlying value or becoming a better designer [of code] rather than simply a consumer of best practises.
I plan to follow up with some “lessons learned” -style posts as I progress through this book. Readify, my employer, has kindly allowed me PD days to do this so I want to “give back” something to the wider community in the hope that some of the nuggets of wisdom I acquire will be valuable to others.
An Android phone can never have what an iPhone has.
Before I explain, let’s have a bit of back story.
User Experience is a term we software people use to describe, more or less, how pleasant the process of interacting with a software system is. If you hardly click or type, the information you’re looking for is easy to find and you come away happy, it might be said that you had a good “user experience”. However, if you end up talking screaming to a device (yes a computer is an inanimate object) or nearly destroying a keyboard, perhaps you had a bad user experience.
The thing is, user experiences are not just limited to “users” in the software sense. We humans have bad experiences all the time. There’s the experience with the stupid “tap” device in the fancy hotel room when you go to use the shower: how does it work? I mean, once you figure it out it’s ok but when will these guys stop thinking up new ways to invent a tap!? There’s also the experience with the online store that might be smooth until you have to return an item. Where’s your A Class customer service now? It’s easy to limit scope of an experience (to users in the software context) because then things are easy to measure. I want a good experience throughout the whole process. I want the complete experience to be good. This is what Android devices can never have.
The Android OS, by design, is multi-platform. It can be used on all manner of hardware. This means it needs to be extensible and flexible so as to accommodate the differences in feature sets of various hardware devices. An iPhone’s OS does not face this challenge. It’s designed for a limited hardware set and so the playing field is narrow and predictable. The experience with an iPhone is neither hardware nor software - it’s both; and it’s good.
Samsung can make a great (hardware) device but it has to rely on the Android OS for the rest of the experience. Likewise, the Android engineers can knock out great features, but how they’re implemented on the hardware is not under their control.
An iPhone has synergy. Yes synergy. It’s one of those words that’s really misused by management types. I loathe the word. But it’s the right word. The iPhone’s experience is greater than the sum of the remarkable hardware and elegant software design. Android devices can never have that, and that’s why they’ll always be inferior.
Thanks to Andrew, Jason and Sam for reading drafts.
What bothers me about Outlook is how the autocomplete in the TO field seems only to search for addresses that are stored somewhere as a “contact”. What I like about using the iPhone (and I believe gmail does this too) is how I can start typing part of a name or an email address, provided I’ve already sent or received a message from said party, and it will autocomplete it for me even if they are not a “contact”.
I don’t have time to save everyone as a “contact” and I’m especially not going to waste my life on a painful “add a contact” experience. Hotmail has tried hard with their “one click” approach where the “your email has been sent” confirmation page includes the form to add the First and Last names of the new email address. This is good but most of the time I can’t be bothered with that either.
How’s about more thinking in design hey? Wouldn’t that be nice. Assume that, if I have sent or received a message from joe.bloggs@example.com that I might want to send something to him again. Allow me to search for “joe”, “bloggs” or even “ggs@ex” and autocomplete for me so I don’t have to think about contacts or not-a-contact complexity.
I might also like to point out that Xobni were the first to relieve my pain some years ago when I was still forced into using the horrid Windows Outlook client. Xobni drastically improved the autocomplete for the TO field. I just think it’s a little sad that one needs a plugin to get this type of pain relief.
</rant>
What do you think? How do you overcome tools that force you into one way of doing things?
So I like Dropbox.. Ok not true- I love Dropbox! But not enough to put up with these creepy ads that seem to be able to follow me all over the intergoog:



… yes! Everywhere!
And what bothers be more than the stalking is: how do they know I’m not a customer already? Maybe we use Dropbox for Teams at my work (soon we actually might. not kidding)?
If Google or AdChoices or whoever they are can get all this info on me, they should be able to leave me alone when I sign up for one of these products right? I mean, it’s only the advertiser and the advertiser’s client loosing out- they could be serving me other ads. I’m not exactly going to sign up again.. at least not on the say so of an ad who likes my smell.
It’s easier to manage 1000 good people than 10 amazing people — http://thisweekin.com/thisweekin-startups/jasons-talk-at-cal-tech-on-this-week-in-startups-135/
Clarity is quality communication. Being able to communicate ones explicit intent to another is not only a building block of family and business, but software too.
Unless your software is simple, easy and clear you’ll be fighting an uphill battle with users. Apple understands clarity, as does the tumblr login page.
You’re going to suffocate your friends and colleges with extra words, bad grammar, long emails and fluff. So why do the same with your app? Focus on the core of what you need to communicate and hack the rest out until the gold virtually stands alone.
Strive for deep understanding- you know when the gaze focuses or the head just tilts like “yeah, I get it”? That’s what you want. Produce that in your conversation, produce it in your copy and produce it in your app, the faster the better.
This is clarity.
Everyone is getting a refund for the entire month… — http://status.37signals.com/
Edit: Metahint is not active any more :(
As web matures, conventions emerge. We generally accept that we can find a main navigation set of links up the top of a page. Generally, a logo click should return one to the home page and since using Google, we more or less expect that when we type text into a “search” field, we’ll find what we’re looking for if it’s there.
So.. if we’re not Google, how should search work? What result do you expect from a search input? And now that live search is becoming much more mainstream, how should we expect that to behave?
The reason I ask is because this is what us designers/developers/UX people should care about - what the user expects to happen. If we are to get value from a convention (something that is widely understood to work a certain way) then we need to make sure it’s the correct [expected] implementation.
I’ve just started trialling a cool new search tool for blogs/sites/etc called Metahint - you can test it out to search my blog. But one thing I’ve noticed is that it doesn’t seem to behave the way I expect. I think this is important because if you want something that is useful and usable, then users need to be able to figure out how to use it pretty well instantly.
I think basic search, whether “live” or not should include these three primary functions:
Tell me what you think. How do you expect search to work? What are great examples of simple, yet well implemented search features?
Isn’t it great to hear when Auzzies do well? Well I think so. Following the US/SF/SV startup world is kool but it’s better to hear how business kick ass here in Oz.
I’d like to draw your attention firstly to a Perth design firm bam creative. Ok, so I don’t know much about bam but that’s kool. Why? Well because their site is damn slick for a start. But what makes them different for me is the 10 Reasons page. Why does a company need a manifesto? Well because these days people want to know what you value and that you care. A bad site, generic stock photos and no life (content) not only says “we don’t care” but it means it too.
The second company I just need to brag about is 99designs. Now 99designs have been around for a few years now but what I only recently discovered was that this killa product is an Australian invention. Sik! 99designs do crowdsourcing so good it’s beautiful. Great UI and clever UX is not everything, you have to make money too right? Well these guys are pulling the bucks and prove a great model for money-up-front web3.0(?) services.
It’s really inspiring to see fellow auzzies bringin it when it comes to tech business. Who says you need to move to the valley?