• iPad vs. iPhone: Our Favorite Apps Compared

    After years of rumors and speculation, the iPad is finally in our excited little hands. Now developers are falling all over themselves to create iPad versions of their popular iPhone applications. They can either create an entirely new application exclusive to the iPad, or create a hybrid app that runs on both devices. The hybrid apps recognize the device it's running on and launches code specific to the device being used. Let's take a quick look at some of our favorite iPad apps and see how they differ from their iPhone cousins: PandoraPerhaps the best Internet radio app out there, the iPad version provides the same functionality with a more attractive interface. Accounts are easy to set up, streaming works well and the service is able to find similar music to create radio stations with relative ease. Not bad for a free app, even if it does feature the occasional ad unless you buy the Pro version…Shazam for iPad Shazam for iPad still works as beautifully as its iPhone counterpart and is as simple and functional as you could ask for. Simply hold the device up to a radio or speaker, let it listen to, match and identify the song and then offer a quick way to purchase the track through the iTunes Store or locate other works by the artist.The conflict here may be the idea of portability on two levels. Shazam for the iPhone succeeds in that the iPhone is constantly tied into AT&T’s network and can readily go online and identify the track from the sample taken. This may be a harder go until the 3G iPad hits, thereby leaving the user to be inside and on a Wi-Fi network to identify a song. Form factor will also come into play even when the 3G iPad hits and it may be a clumsier task to hear a cool song on your car’s radio, whip out the much-larger-than-an-iPhone-sized iPad, take the sample and see what comes back.IMDB Movies & TV You’ve got to hand it to the Internet Movie Database: It’s useful, it contains just about every scrap of information you’d want to know about whatever you might happen to be watching. While the iPhone app makes great use of a simple interface, the iPad version seems to relish in the larger screen real estate, offering a list of popular categories to the left that proves useful but can’t be removed. Even with this fault, the app is still speedy and useful on a Wi-Fi network, though an option to use the entire screen for searches would be appreciated in a future update.Now PlayingNow this is useful. Simply set up your location in Now Playing’s preferences, give it a movie or location to search for and it’s off to the races, displaying local theaters, upcoming and past offerings, trailers and ratings from the mighty rottentomatoes.com meta review site. Navigation proves to be easy and the iPad version of the app makes beautiful use of the added screen real estate, though one wishes they could have done more with the trailer feature (such as allowing for options to see trailers at larger screen sizes). Finally, a bug in the trailer feature occasionally showed trailers for the wrong movie (i.e., the original “Iron Man” trailer as opposed to the updated “Iron Man 2” trailers), which the developers might want to look into.Instapaper Pro One of the most useful apps for the Mac, the iPad version of the Instapaper Pro app allows for a clearer reading space that iPhone users dreamed of. Simply create an account on instapaper.com, log in and begin tagging articles you’d like to read but don’t have time to via the "Read More" button on your Mac’s web browser. The Instapaper Pro app for iPad can then log in and look over your “Read Later” list when you get a few free moments. From here, the reading experience is clean, inviting and everything you could want when you find the time to sit down and put your feet up with your iPad. Unfortunately, the current version of Instapaper Pro doesn’t allow users to tag articles for later reading via the iPad’s version of Safari, thereby making tagging an article and reading it on your iPad a two machine process. This may change in the future, but until then, Instapaper Pro is its own useful, nifty creation.Plants vs. Zombies HDSome games were just meant to be used on a nice, large touchscreen. Enter PopCap’s Plants vs. Zombies HD, where you must use plants to help defend your home from assorted zombie invaders. The graphics are beautiful, the controls responsive, the sound as clear as you could ask for and the entire play experience feels completely easy and casual. Need to dig up a plant and replace it with another unit? A few quick taps and this is pulled off.Controls on the iPad feel almost effortless and if any title benefited from the additional screen real estate as opposed to the tighter confines of the iPhone, this did. Perhaps one of the finest games available for any platform, try it now and see what you think.PapersIf you ever needed to both hunt down academic papers as well as keep them in order, the cool cats at mekentosj.com have felt your pain and done something about it. Papers for the iPad functions as an academic journal location and sorting utility. Need to find a technical paper on nanotechnology and file it away? Simply use the search engine, and then use the “Flag” or “Import” options to tuck the article away into a custom library. Yes, there are a zillion articles on the Internet about the thing you need to learn about, but at least you can file the useful ones away for later, or until after the caffeine takes effect.Real Racing HDEven if you’re not the biggest racing fan or can’t name any drivers that have ever competed in NASCAR, there’s a certain primal thrill in a good racing game. Firemint’s Real Racing HD is everything an iPad user could want in this kind of title. Complete with beautiful graphics, terrific sound, incredible responsiveness, superb controls and unlockable cars and levels, just enter a race, tilt the iPad as necessary and the game practically plays itself.Firemint came out the gate in almost record time with the iPad version of the game and the results stand for themselves, even if you might look a bit silly holding what appears to be a large square plate with a racing game on it near your head. Still, the game revels in the large screen space, the end result is impressive and the people behind the code should be proud of their work.WolframAlphaPerhaps one of the oddest, yet coolest and most useful things on the Internet, the WolframAlpha search engine has striven to provide better scientific results than anything else on the market. Simply put, if you liked the iPhone version, you’ll like the iPad rendition, which is just as speedy, useful and perfect for bringing together very technical data results in an approachable order. Yes, the app may attempt to answer the question of “What is love?” by returning the nine mathematical formulas it thinks best answer this, but it runs well on the iPad and that’s a start.PCalc RPN CalculatorWhere Apple left an iPad version of its iPhone calculator app out of the initial software release, PCalc fills in and in an even better style than its iPhone counterpart. Simply open the app, sit back, enjoy the added screen real estate and begin inputting numbers as needed. The iPad’s large and responsive screen makes the act feel less constrained than doing this on an iPhone, sub-menus are easier to access and the app is a joy to use, even if you never approach everything it’s capable of. Score one for James Thompson, this math geek knows what he’s doing and it shows.  Metal Gear Solid TouchOk, the iPad was the device this game was meant to be played on. Metal Gear Solid Touch, which was released last year and drove die-hard Metal Gear fans half insane from trying to play their favorite game on the iPhone’s small screen, improves exponentially with the iPad’s larger screen space. Here, the graphics shine, the sound is impressive, the animations seem less jerky and there’s room to smoothly move the heads-up display to the next target, smoothly pinching the screen to zoom in and out with the gun sight as necessary. Accept no substitutes, this is how it was meant to be.Implode! XLYou spent part of your childhood building cities out of wooden blocks and that was fun. Arguably the better part was knocking them down, as seen in Implode! XL for the iPhone and iPad, where you must demolish a series of buildings using only a limited number of explosive devices. And as fun as this is on the iPhone, it’s only better on the iPad, which offers a large, responsive screen, amazing sound and just the sheer joy of seeing your plan work in front of you. It’s good on the iPhone, awesome on the iPad and annoyingly hard to stop playing. Snag it. Now.iSSH – SSH / VNC ConsoleIt’s not the prettiest way to go about things, but sometimes you just need an SSH or VNC program. Fortunately, iSSH for the iPhone and iPad is there to help, complete with the full emulator goodness you need from this kind of program. It works on the iPhone and becomes that much better on an iPad, the larger screen helping the situation while the improved typing area makes entering commands significantly easier. Fire up the app, open a configuration, type comfortably and you’re where you need to be.  Air HockeyIt’s simple, it’s fun, and man does it get a boost from the iPad. Acceleroto’s Air Hockey lets you play a computer or human opponent in classic arcade style air hockey with multiple difficulty settings and up to two pucks in play at the same time. Where the iPhone’s touchscreen feels compressed, the iPad version gives you more room and greater precision with movements and literal elbow room. Not a bad thing for a video game.Google Mobile AppIt’s not perfect, but it’s getting there, especially on the iPad. Google Mobile App brings together the entire collection of Google applications (Mail, Talk, Buzz, Reader, YouTube, Earth, etc.) and delivers them in one program. When an application isn’t available in a native iPad format, Google Mobile will launch the emulated iPhone version, which remains useful though not as pretty. Even with this shortcoming and a bug that seems to prevent the app from rotating with the iPad, you appreciate the added space the iPad provides as well as the additional room to type and navigate. For their next trick, let’s see iPad native versions of the apps, which can’t be that far behind.Wikipanion for iPadIt’s been debated as to whether Wikipedia actually knows everything, but it’s a good place to start. Wikipanion was a great app for the iPhone and only gets better on the iPad, the additional screen space lending room for a beautiful contents menu in a left hand column while the main article flows in the right hand column. Easily accessible history menus make past searches easy to dig up and this is Wikipedia in its best possible form, plain and simple. 

  • 50 Rad Firefox Add-Ons

    Sometimes, one-size-fits-all doesn’t really fit, and this is especially the case on the Internet. It’s a wonderful place out there on the World Wide Web, full of sites for every purpose we can think of (and some we’d rather not). That’s why, we’re glad there’s Firefox. No Mac browser is nearly as flexible, nor as customizable. With the right--or the raddest--add-ons installed, you can transform Firefox from a tool to surf the Web into an Internet wrangling toolbox you can tweak to your heart’s content. We’ve collected fifty Firefox add-ons to help you get the most from your visits to the Worldwide Intertubes. Some aren’t for everyone, but that's okay. Read on, and you may discover ways to work a little easier and play a little harder. For those about to restart Firefox to complete your changes, we salute you. AppearanceAging TabsHow do you know when you’ve been browsing too long? Your musty old tabs can tell you. Aging Tabs makes them change color as they sit on the page waiting for your scrutiny. Naturally, colors and aging speeds are customizable. Should tabs fade to grey or yellow like newsprint? It’s your call, but you better hurry; those tabs aren’t getting any younger.Looks like our tabs could use a little Botox.Colorful TabsNeed a little more color in your life? Or maybe you just need to get organized? Try Colorful Tabs, the add-on that lets you apply colors to coordinate groups of tabs, make important tabs stand out, and make Firefox look pretty. Tabs can have random colors as you create them, one color specific to a site’s domain name, or you can apply colors to individual tabs with a context-click. You’ll have to keep up with the latest tab fashions from Paris, but that’s the price of progress.Colorful Tabs are cute and useful.GreasemonkeyDon’t like the way a Web page works? Don’t get mad, get Greasemonkey. With it, and hundreds of scripts available at the official website and third-party sites, you can make pages perform the way you want them to. Want Google Reader to look like a Mac app? There’s a script for that. Want to strip the ads out of Facebook? There’s a script for...you get the idea. Simply locate the script you're looking for, install, and...there is no step three! Just enjoy your favorite sites customized to your liking! Greasemonkey can make YouTube look like Google Videos.History TreeFirefox’s History browser is so...linear. And so yesterday’s news once you install History Tree. It displays your browsing history as a branching tree complete with screenshots, page names, and the time you visited each page. History Tree also enables you to search your pages’ descriptions to find a past page, view pages as a Cover Flow-ish series of screenshots, and open old pages in new tabs. You won’t look at browsing the same way again.We’ll take customizable browsers for $100, Alex.Multirow Bookmarks ToolbarKeep your favorite sites close and your bookmarks closer with Multirow Bookmarks Toolbar. Simply choose how many rows of bookmarks you want to appear beneath your toolbar--from 2 to too many--and get your freaky bookmark on. You may never need to click the Bookmarks menu item again! You’re not seeing double, you’re seeing Multirow Bookmarks Toolbar.ReadabilityReadability is as simple as it sounds: it strips away almost everything but an article’s text and links to maximize, well, readability. Instead of the original Web page, you get something closer to a book or newspaper’s layout (or even a Terminal window). It’s great if your screen is a little smaller than you’d like, and easier than futzing with menu items to change a page’s font size. If a story is worth your time, it’s worth Readability.A more legible Internet is here today with Readability.RSS TickerThis just in! RSS Ticker scrolls your Live Bookmarks below your toolbar or at the bottom of the page. When an item catches your eye, mouse over it to see a pop-up that offers more information, then right-click to open the article in a new tab or window. You’ll never be at a loss for cocktail party conversation again.RSS feeds keep on tickin’ into the future with RSS Ticker.Split BrowserYou’ve got a shiny new Mac with a honkin’ big screen, so why view just one web page in your Firefox window? Split Browser lets you divide your windows into multiple panes with a Menu Bar or context-command. Keep your web mail or calendar at the ready, compare multiple versions of the same page, or just create modern art with your panes.Two panes are better than one with Split Browser.StylishStylish lets you transform the way the Web looks, one site at a time. Just visit a page you’d like to re-theme, click the Stylish icon in your status bar, and view all available styles for that page. Installation requires just a click, and most effects occur after refreshing the page in your Firefox window. If you get tired of your new style, or if it causes problems displaying a page, you can turn off the theme (or switch to another) just as easily.Every day is Lego Google logo day with Stylish.Tab Mix Plus Tab Mix Plus puts you in charge of how tabs are displayed, made, and manipulated. Protect tabs so they can’t be closed, lock tabs so they don’t load new pages, and add these and many more commands to Firefox’s contextual menu. Got too many tabs? No such thing--just scroll right or left through your tab bar, add additional rows of tabs to your window, and keep track of unread tabs by styling their titles to stand out from the pack. Now you’re playing with power...tab power. Tree Style TabTabs rock, but wouldn’t it be great if the relationship between them was clearer? It can be, with Tree Style Tab. Once installed, tabs branch off from their parent tab, so you know where in the Interweb you are at a glance. Better still, an entire tab-tree can be closed or minimized with a context-click. Tabs’ appearance and position onscreen (left, right, or below the toolbar) can be extensively customized, as can their behaviors when opened or closed.Tree Style Tab and a misspent youth can explain how we got here. VertTabbarVertTabbar isn’t a lovable French children’s book character, it’s an add-on that makes your horizontal tab bar vertical to make the most of your fancy widescreen monitor. It’s a new look for the same tab bar you know and love, and you can even control tabs’ widths, placement of their icons and close buttons, and which side of Firefox’s window tabs appear on. It works well with Tab Mix Plus, too, letting you really VertTabbarMix things up.Let’s get vertical...vertical….Add-ArtAd blockers are nice, but what to do about all those empty spaces they leave on Web pages? Add-Art works with AdBlock Plus to replace static ads with artwork, populating your pages with online art shows that refresh every two weeks with new works of art. Most of Add-Art’s showcase isn’t the usual soothing stock image fare, but rather just the thing to spice up sparse, ad-free pages.The image on the left isn’t an ad, it’s art. Next Page: Daily Browsing >> Daily Browsing1-Click YouTube Video DownloadThe Internet made celebrities of the Dramatic Look prairie dog, a sneezing baby panda, and Rick Astley, but that doesn’t mean these lovable critters have to stay on the Web. With 1-Click YouTube Video Download (and, duh, one click) you can snag videos from YouTube.com as FLV, M4P, 3GP, or HD downloads to play offline. 1-Click, we’re never gonna give you up.That’s gotta hurt. Let’s see it again, and again….Adblock PlusSomeday beer will be free and Adobe will release a Mac version of Flash that doesn’t suck. Until then, there’s Adblock Plus to keep your browsing free of annoying Whack-a-Mole banners and other unwanted ads. Just install, subscribe to an ad filter unique to your country, and you’re good to go--no more ads on any site you visit. Or you can control-click on specific ads to keep them from loading, and allow certain sites to keep displaying important messages from its sponsors. MacLife.com, for instance….Those white spaces were ads before Adblock Plus.Auto CopyIf you regularly mine the Web for text and images to copy and paste into other documents, give Auto Copy a try. Once installed, merely selecting something copies it to the Clipboard. Auto Copy’s contextual menu commands also let you paste selections directly into Firefox’s address or search fields and reload previously copied items into memory. These and Auto Copy’s other time-saving tricks will give your mousing fingers a well-deserved rest.To copy with Auto Copy, just highlight, paste, and you’re done.Converter You know those currency and measurement converters all over the Internet? Forget ‘em...if you’ve got Converter. Just plug in your preferred units of time, currency, temperature, and measurement into Converter’s settings and it translates most Web pages to whatever you think is normal with a single click. Now you can plan that trip to Europe with confidence (we’re totally free to come with in the spring).Converter’s conversions appear right with the text.DownThemAll!You spend a lot of time surfing the Web, but how much is spent downloading application updates, movie trailers, and other vital stuff? If your answer is ‘too much,’ DownThemAll can help. Not only does it accelerate up to 10 simultaneous downloads, retry stalled downloads, and give you live statistics about each file as it zips to your Mac, it lets you grab all a page’s images and links at once with a few clicks. Oh, and that acceleration? Our demo download crept along at 40 kbs a second until DownThemAll gobbled up the same file at more than 150kbs. If you gotta download, you gotta get DownThemAll.Down the hatch with DownThemAll.Download StatusbarSay goodbye to moving the pop-up Downloads window out of your way. Download Statusbar replaces it with, well, a status bar at the bottom of your Web pages that’s there when you need it and gone when you don’t. Despite its small size, the status bar boasts plenty of information about your files, and it even lets you pause and resume downloads between sessions.Discreet downloads are yours with Download Statusbar.ErrorZilla PlusWhen a page’s server can’t be found, ErrorZilla Plus replaces the standard Firefox error page with a battery of tools to help you find what you’re after. Peek at a Google Cache version of the page and use Ping, Whois, the Internet Archive’s Wayback Machine to see what’s what. ErrorZilla is like a utility belt that magically appears when trouble strikes.ErrorZilla Plus lets you do more than just click the Reload button.FEBE (Firefox Environment Backup Extension) Sure, add-ons are rad, but applying your favorites to every computer in your life isn’t. Enter FEBE to back up and restore your add-ons, themes, bookmarks, passwords and more with a single click or on a schedule you define. You can backup your extras to a local disk or send them to the cloud with FEBE’s Box.net integration. Did we mention that FEBE plays wacky sound effects, too? Don’t worry, they’re optional.Want all your add-ons on multiple machines? You want FEBE.FlashBlockFlash gives us Web games and YouTube, but it’s also responsible for processor-hogging pop-up ads and annoying site intro movies. Try FlashBlock--it replaces embedded Flash with a generic box you can click to see the Flash file do its thing. If you don’t, you and your Mac’s processor can go happily about your business. FlashBlock also lets you leave your favorite sites unaffected if they always deliver Flash files you want to see. Ming the Merciless wishes he could block Flash like this.Quick DragIn a world of Multi-Touch pinches and swipes, we’re happy Quick Drag puts a new spin on the O.G. gesture control, the venerable drag and drop. Just select text and drag and drop it anywhere on a page to kick off a Web search, or drag and drop images to save them to your Downloads folder. Modifier keys let you mix things up, and you can even drag and drop partial URLs to open them in new tabs. Who says you can’t teach an old dog new tricks?Quick Drag doubles your drag and drop prowess.WeatherBugIf you organize your life around the weather, why not bring weather reports to you with WeatherBug? Just plug in your location and WeatherBug adds the temperature, weather alerts and up to three days of forecasts to your Firefox pages. Additional forecast details, radar information, and weatheriffic news items open in a pop-up with just a click. You may not need a weatherman to know which way the wind blows, but for everything else, there’s WeatherBug.Looks like Saturday is a good day to stay in.XmarksThis may sound like science fiction, but someday people will use multiple computers to get their work done. If that future is now, you need Xmarks. It syncs your bookmarks and passwords across multiple computers and browsers (Firefox, Safari, IE, and Chrome), and lets you add tags to your bookmarks that help other Xmarks users find interesting Web pages. And hey, their tags help you, too! Maybe this brave new world won’t be so bad after all.Xmarks the spot and syncs your bookmarks, too.Yet Another Smooth ScrollingYou visit a lot of Web pages. That means a lot of scrolling, and if the iPhone has taught us anything, it’s that the right kind of scroll can make navigating lengthy pages a breeze. That’s why YASS is so nice--its settings apply only to your Firefox windows, giving you as much (or as little) smooth, accelerated scrolling as you like. You can set three custom scrolling presets and switch among them on the fly with an icon in the status bar.We nicknamed our presets First Gear, Second Gear, and Krazy Nitro. Next Page: Search & Communication >>Search & CommunicationCoolirisEver wonder what the Web would look like with a dose of Cover Flow? Then you’ve imagined Coolris. It turns the results of searches on YouTube, Facebook, Google Images, and other sites into a scrollable, zoomable, 3D gallery even Steve would dig. If you feel like keeping closer to home, Coolris also recognizes your iPhoto library and can display its pictures in the same slick style. That’s one giant leap for Google Images.FastestFoxWhich would you rather have, a fast fox, or the FastestFox? We thought so. After all, FastestFox throws up a tiny pop-up that puts a search for your selection on Google, Wikipedia, YouTube, and Twitter (among other sites) just a click away. FastestFox also adds instant Google search results to the address bar as you type, as well as a bookmark launcher you can call up with a key command to access your favorite sites on the fly. Searches are never far away with FastestFox.GlubbleThink of Glubble as your family’s private Facebook. Once parents add accounts for their kids and trusted relatives, everyone can log in to the family’s main page and send text messages, share photos, and schedule activities. Kids can explore the Web safely through Glubble’s browser. It takes over a Firefox window and limits Internet access to games, activity pages, and sites declared safe by Glubble (or mom and dad). Better still, Glubble is so simple and streamlined, even adults can use it.Glubble’s kids browser offers plenty to see and do.IMDb PreviewThe IMDb is the best way to settle bets about which actor starred in the original version of the remake you just saw, and IMDb Preview just may help you win your next dispute. Hover over an actor or movie’s IMDb link--in any site, not just IMDb.com--and a configurable, scrollable pop-up window appears sporting a relevant picture and links to related films and performers. The add-on also drops a link to IMDb’s My Movies feature on any movie’s IMDb page, letting you add flicks to your My Movies collections as you browse...er, settle the next score.Bring IMDb data to you with IMDb Preview.Integrated GmailAre you a Gmail junkie? Then you probably use Google’s other services on the regular. Why not put them all in a single window with Integrated Gmail? Just install, log in to Gmail, then access Google Calendar, Maps, Notebook, Picasa, and more in through unobtrusive, collapsable icons. Integrated Gmail is so good, you’ll wonder why Google didn’t do it first.Get mail and much more with Integrated Gmail.InterclueWhat’s behind that next link? Interclue can tell you. Click the Interclue button that appears when you hover over a link, and a pop-up window shows you--with a screenshot and selectable text--the page the link will open. Without even going to the page, you can add it to your bookmarks, open it in a new tab, post a link to Facebook, and more. That’s right--now you can share Web pages you haven’t even seen yet with all your friends. We’re through the looking glass here, people.  Interclue knows what’s new.ShareaholicIf you can’t get enough shareahol, we’ve got the add-on for you. Shareaholic adds a button to your toolbar that lets you easily broadcast pages to a zillion blogs and social networking sites, squash long Web addresses with URL shortening services like TinyURL, and even simply e-mail links to people with your default mail client. Don’t worry about running out of things to share. Shareaholic puts in your status bar links to the latest dirt on Twitter, OneRiot, and Buzzster--you heard it here first.New Sonic Youth in 2010? Gotta tweet that.SimilarWebEveryone wants to find cool new sites, but nobody has time to scour the Web for them. Enter SimilarWeb. As you browse, its sidebar suggests other pages related to whatever you’re looking at. You can approve or reject these suggestions to help fine-tune SimilarWeb’s topic matches, but what if you think you know better than SimilarWeb? No problem--just suggest your own site matches for other users to discover and vote on.SimilarWeb puts sites you may have missed right in your sidebar.Simple MailIf you want all your mail in one place, you want Simple Mail. It supports POP3, IMAP, and SMTP accounts, and lets you compose WYSIWYG messages with multiple fonts, colors, and other formatting options. Create mail folders, color-code messages, and set up filters to apply to incoming messages. It’s your mail, simplified.Simple is no sin when there’s work to do.YoLinkYou could search for text on pages like Craigslist or CNN.com the old-fashioned way, or you could use YoLink. Install it, load your page, then search with the new YoLink field in your toolbar. Instead of just finding and highlighting matched text, YoLink splits your Firefox window in two and lists summaries of all matches ranked by significance from within the site. Results can be saved to be read later with a free YoLink account, shared via social media sites, or plain-old bookmarked...but that’s so last-decade. YoLink finds links that lurk beneath the surface.YoonoBetween work and play, you’ve got enough to do online without making all the new tabs and windows your digital lifestyle demands. Yoono can help. It lets you log in to multiple social networking and media sites (all the usual suspects and more) so you can flit among them in a collapsable sidebar in your Firefox window. There you can also search for YouTube videos, Wikipedia articles, and bargains on Amazon while sharing them all with your friends. Why open another window again?Yes, we feel smug when we tweet we’re browsing the Smithsonian. Next Page: Work & Productivity >>Work & ProductivityEvernote Web ClipperOh, you smug Evernote junkies. You’ve got a Mac app to stay organized, an Evernote iPhone app to take your notes on the go, and the Evernote Web Clipper, a Firefox add-on that lets you easily add Web pages, links, or selections to your Evernote account. Bet you think you’re pretty tough. We’d show you a thing or two, if only we could find them! Never forget important sites with Evernote Web Clipper.FirebugIf you spend as much time making Web sites as you do browsing them, you probably already have Firebug installed. If not, what are you waiting for? Firebug puts a Web development toolbox in a new Firefox window or a split screen below the page you’re working on. You can edit HTML, fine-tune CSS, zero-in on JavaScript errors, and much more in a simple, easy to read interface that lets you get to work quickly. Now you’ve no excuse not to write the next great American Web page.If you’ve got the development bug, get Firebug.iCyteWhen you need to collaborate on Web research, or just keep all sites that interest you readily at hand, don’t copy and e-mail links...use iCyte. It lets you “cyte” pages or selections--saving the link and a snapshot of the page as you found it--and include them in projects to share with people you know, or total strangers. You can add tags and notes, too, and once you create an account, the iCyte sidebar keeps your projects and saved cytes in view as you surf...er, research.iCyte, therefore I remember.LeechBlockLeechBlock isn’t something to pack on your next camping trip, it’s a productivity booster that blocks access to distracting sites while you work. It lets you create 6 sets of rules to apply to troublesome sites, including what days and times sites are blocked, which sites users are redirected to, and more. LeechBlock works great for individuals, but its password-protected controls and ability to export and import settings can keep everyone on a network on the job. That’s a good thing, right?Get back to work with LeechBlock.Morning Coffee We admit it, we’re hooked on our morning coffee and on Morning Coffee. It lets us quickly add sites to lists for each day of the week (and weekends, or every day) to quickly access sites at those times. Gotta check out the news sites first thing each morning, or launch all your favorite sites that update every Thursday? With Morning Coffee, they can be launched together with just a click. Its even easier than adding cream and sugar.If it’s Friday, we must be reading the Onion A.V. Club.Read It Later We’re always doing things later...writing thank-you notes, meeting deadlines...so its no surprise we dig Read It Later. Just click a checkmark in your address bar to add the current page to your list of things to read later. When you have spare time--on a commute, say, with the Read It Later iPhone app--you don’t even need an Internet connection to access your list and catch up on your reading. Install it today...or, y’know, later.Procrastinate effectively with Read It Later.ToodledoDo you use Toodledo, the service that lets you manage your schedule and send it to an online calendar to share with others or read on the Toodledo iPhone app? Then you’re way more organized than we are. You’ve probably already scheduled time to install the Toodledo add-on that lets you quickly add Web pages, text selections, and general to-dos right from your Firefox window. Well...good for you!You have your to-do list, we have ours with Toodledo.ZoteroResearchers, rejoice. Zotero lets you surf news sites, academic databases, libraries, even Amazon and YouTube to save citations, links, snapshots of pages, and PDFs in a pop-up mini-app that lives in your Firefox window. There you can tag and add notes to your finds and organize them according to just about any parameters you can think of. All this can be synched to other computers running Zotero to follow you and your research across campus or the world. It even exports bibliographies and citations in almost any style you can think of when you finally get around to writing your dissertation.Zotero’s iTunes-like interface is easy to use. Next Page: Workplace Security & Shopping >> Workplace SecurityTab RenamizerAre you goofing off or hard at work? With Tab Renamizer, no one knows but you. It changes the names of closed tabs to something safe for work while leaving their contents intact. A few innocent looking substitutions--Wikipedia, Google, a 404 error message--are built in, but you can add your own. Then change individual tabs as the need arises, or set and forget Tab Renamizer to automatically rename tabs as you, ahem, “work.”Nothing shady going on here, no sir.PanicImagine you’re at looking at a site you don’t want your boss to see. Don’t panic, you’ve installed Panic. It puts an unobtrusive icon in your status bar you can tap to make any naughty tabs in your frontmost window disappear, replaced by the inoffensive page of your choice. The default page is a Google search for “increasing workplace productivity”...nice.Who’s panicking? We weren’t doing anything wrong! Shopping Camelizer Like to buy things at Amazon, Newegg, or Overstock.com? Yeah, us, too--that’s why we installed Camelizer. It adds a button to items on those sites (and others) that delivers price histories courtesy of the camelcamelcamel service.Sign up for e-mail or Twitter updates when an item’s price drop to a figure you set, and you’ve got no excuse for paying too much for that USB-powered backscratcher Uncle Frank has been hinting about for his birthday.Hey, that price isn’t much higher than it was on Black Friday!GlueGlue is all about you--or more specifically, the things you’re interested in. Just install, sign up, and start letting Glue get to know you by rating movies, books, gadgets, and more with a simple thumbs up or thumbs down. Then visit the sites you already use (like Amazon, Wikipedia, Apple, and many, many more), and Glue reminds you of what you like and suggests new stuff you might like to like. Glue’s the good friend you always take shopping, if your friend was a pop-up banner at the bottom of your Firefox page.The more you let Glue know about you, the more accurate it is.PriceTrace ToolbarAttention, Kmart.com shoppers--and shoppers at Amazon, Macy’s, B&H, and many more online stores. The PriceTrace Toolbar add-on puts a PriceTrace.com search bar on your pages for instant comparison shopping on supported sites. You can compare past and current prices and subscribe to price drop alerts with a click, but the coolest feature is quick access to searches for fillers--items you buy to qualify for special offers--based on price range and other criteria.Shopping? Put PriceTrace on the case.

  • Apple Takes Aggressive Next Step in the Ongoing Jailbreak Dance

    It can't really do anything about the iPhone hardware that's already on the market, aside from trying to block jailbreaking via software methods again and again, but Apple has made hardware changes to the latest shipments of iPhone 3GS devices that should ensure they can't be unlocked, at least for the time being. The newest devices hitting the market have an updated boot ROM that blocks the exploit typically used in jailbreaking the 3GS, known as the 24kpwn exploit. iPhone Dev-Team member MuscleNerd confirmed that the block does indeed mean that for now, a standard jailbreak on these devices is out of the question. The 24kpwn exploit was originally discovered early on in the production life of the iPhone 3GS, thanks to connections between the iPhone Developer community and iPhone unlockers. George Hotz (also known as geohot), building on the iPhone Dev Team's work, published a way to jailbreak the 3GS a few weeks after the exploit was revealed. Apparently, this is the first time ever that Apple has changed the boot ROM on a production device. Previously, Apple has waited until it released brand new devices to do this, like when the 3GS was originally introduced. Presumably, there is a not insignificant cost associated with making that kind of change mid-production. In all likelihood, it's only a matter of time before another exploit is discovered and taken advantage of in order to jailbreak the newer 3GS phones, too, but for now, Apple has dealt a significant blow to the Dev-Team and those who'd rather not rest comfortably under the yoke of Apple and friends. Of course, if you haven't bought your device within the last week, you should have no problem using the recently released jailbreaking tools for the most recent iPhone OS release, 3.1.2. Apple's main problem with jailbreaking, in all likelihood, is the fact that it leads to significantly high rates of piracy on the company's devices. According to MacRumors, of the nearly four million jailbroken iPhones estimated to be in existence, a full 38 percent of those are using at least one pirated app. Additionally, of iPhone apps that have been successfully cracked and distributed, a full third of the installations are of pirated copies. So, to Apple's mind, jailbreaking is depriving it of a nice chunk of its revenue on some of the most popular apps available in the App Store. Even if the boot ROM update only effectively blocks jailbreaking for a month or two, it should have a positive effect in Apple's income stream for that period. As Q4 begins, online video is now mainstream. Read the, "Connected Consumer Q3 Wrap-up."

  • Palm Pre Gets Denied by Apple

    Apple has a new update for iTunes, version 8.2.1, which fixes plenty of bugs along with one major thing - it blocks devices that pretend to be iPods from syncing with an iTunes library. Apple clearly points out the Palm Pre when it talks about impersonating devices. Apple told Businessweek:read more

  • The Lifer: Farewell to Hard-Disk Drives

    The plain, unvarnished truth about the future of storage is that fundamental differences between hard-disk drives (HDDs) and solid-state drives (SSDs) will lead to the HDD’s doom. Those differences, however, also explain SSD’s bad reputation for getting slower over time, among other things. Such kinks are being worked out, and 2011 will be the year SSDs go mainstream.To the SSD’s advantage, the HDD’s ancient spinning-disk tech makes the average latency (the time it takes to find the data) of a speedy Seagate Barracuda 7200.11 HDD a full 4.16 milliseconds. For a bits-on-chips Micron RealSSD C300, average write latency is a little over 0.08 milliseconds. Ouch. Also, a hard drive reads and writes data in a single stream, while an SSD deals simultaneously with multiple chip channels (four to ten, usually). The more channels, the higher the bandwidth. A serial HDD just can’t compete with a parallel SSD.There are two types of SSDs. One, called a single-level cell (SLC), holds one bit per cell; the other, called a multi-level cell (MLC), holds two. The cells are essentially identical—it’s the way they store bits that’s different. But MLCs are cheaper than SLCs, and they’re (usually) slower and (potentially) have shorter lifespans. That’s why SSD manufacturers use a technique called wear-leveling to evenly balance cell usage. Essentially, it ensures that an SSD’s MLC cells grow old together.The facts behind why older SSDs have slowed down relate to how bits are erased on HDDs and SSDs. When you delete a file, you don’t actually erase anything—you merely tell your Mac to forget about that file. When you need its space back on an HDD, you simply write over it. On an SSD, however, you have to erase it first, then write over it. But when you erase bits from an SSD, you have to do so one block at a time (usually 512KB), even though you write to one page at a time (there are commonly 128 4KB pages in a block).Let’s say a block on your SSD contains data from multiple files. Some of those files are active, some are “deleted” but not erased. But now, when you want to write a new file to pages in that block, there are so many inactive—but full—pages that there’s no room for that file. So you need to erase those inactive pages.But remember that you must erase the entire block at the same time. So to protect the active files in that block, you write the block out to some free space on your SSD or to a buffer, then erase the block, then write the original good stuff back to the just-erased block. And you’ve just wasted a ton of time.What’s worse, the more you use your drive, the more it fills up, and the more time you waste keeping it clean. The older it gets, the slower it gets. The solution to this problem was once simply to wipe an aging, slowing SSD clean and start over—not convenient, but effective. But SSD designers have come up with better ideas, such as setting aside a good chunk of the SSD as extra space for write operations (called overprovisioning), then to erase inactive pages during garbage-collection idle time—and to have those overprovisioned blocks be available when others go south.Another was the introduction of TRIM technology, in which the operating system explicitly tells the SSD to erase the pages it no longer needs. Windows 7 supports TRIM; Mac OS X doesn’t—though it’s rumored for the future.More effective, however, are increasingly sophisticated, zippy drive controllers, such as the Indilinx Barefoot or the Marvell controller in the Micron RealSSD C300, that are smarter than TRIM. SandForce’s DuraClass Technology controllers, which power Other World Computing’s Mercury Extreme Pro SSDs, among others, add compression and other goodies to the mix.So SSDs will get better. Indilinx’s new JetStream controller is coming soon, and Intel’s popular X25-M will update late in the year. It may take a generation for SSDs and HDDs to reach price parity, but when they get even close, hard-disk drives are doomed.--Since the late 1980s, Rik Myslewski has paid his rent by keeping an eye on Apple. He was editor-in-chief of MacAddict from 2001 until its transformation into Mac|Life in early 2007, and is now a member of the snarkily sophisticated team at London’s The Register, which is “biting the hand that feeds IT” daily at www.theregister.co.uk. 

  • The iPhone 4 Review

    The hype swirling around the iPhone 4 has been unmissable. But is Apple’s newest smartphone really that great? To find out, we put three of them through an extensive regimen of testing, tapping, taking pictures, and much more. The iPhone 4 isn’t particularly well-named. That’s because one of the things you’ll use this ingenious little device for least is making boring old phone calls. Between the terrific dual cameras, the zippy performance, and the luscious Retina Display, we were quickly absorbed in photography, games, web-browsing, and loads more. It’s truly a dramatic leap forward from the not-shabby-at-all iPhone 3GS.With so many meaty new features, it’s hard to play favorites, but after a couple weeks of use, the dual cameras emerged as the iPhone 4’s biggest upgrade. The rear camera gives you 5-megapixel still photos and 720p video, and our test shots produced impressive results. That’s in part because Apple began using a back-illuminated sensor in the iPhone 4’s camera, which is techno-jargon for a more sensitive, er, sensor that lets you capture remarkably crisp, detailed shots in even low-light settings. In fact, the new LED flash really only trips for fairly dark scenes--and you’ll want to do your best to avoid using it because its harshness often washes out a lot of detail. When shooting video, the main thing to remember is there’s no stabilizer, so if you get jiggly with it, you’re in for some seriously shaky footage. But the overall quality of photos and video is fantastic--so much so that I stopped carrying around my now-redundant point-n-shoot.  The front camera’s perfect for self portraits, while the rear lens shoots vivid, detailed stills that rival many point-n-shoots.But that’s just half the story. The front camera is 640x480 VGA quality (or roughly 0.3 megapixels), so it works decently for those casual self-portrait moments. But where it really struts its stuff is during FaceTime calls. Once you enable these video phone calls in the Settings menu, they “just work” in that effortless Apple way. True, FaceTime calls are only possible over Wi-Fi, but that wasn’t a problem as we mostly used this feature at home with family (where Wi-Fi is always available). In that setting, we particularly loved the ability to switch to using the rear camera to show off, for example, the antics of our kids for the loved ones on the other end of the line. We did make a few business calls with FaceTime, including one cross-country conversation to New York, and video calls always performed smoothly for us, though the picture sometimes gets blurry. Still, it’s downright awkward to stare at a colleague or someone you’ve never met before during a call. But that’s not Apple’s fault--it’s just a cultural truth of the moment.Holding the phone at the proper angle for a FaceTime call can get kinda awkward…When it comes to horsepower, the iPhone 4’s A4 processor and 512MB RAM make it feel speedy and agile. That impression was backed up in our lab, where it sailed through our tests, posting performance gains of 164 percent over a 3G running iOS 4 and 34 percent over a 3GS running iOS 4 in the benchmarking app Geekbench 2. That power is put to excellent use with iOS 4, which delivers great new features like multitasking, folders, a unified email inbox, Bluetooth keyboard support, and loads more.Moving through the other key specs, our battery rundown (playing video at 50 percent brightness and 50 percent volume) clocked in at 10.67 hours on a brand-new device, and while that’ll decline over time as battery capacity diminishes, this battery sure comes out of the gate with a bang. Better yet, the new Retina Display is one of the sharpest-looking we’ve ever seen, and at 326 pixels per inch, it should be. The 3.5-inch screen is the same size as the 3GS’s but packs in four times as many pixels. While its superpowers don’t extend to defeating bright sunlight (which washes it out, as the sun’s glare does to every display we’ve taken outside), it’s noticeably more clear, detailed, and just plain pretty than anything you’ve seen on a mobile device before. All told, that’s a lot of pep in a pretty small box.Folders are the iOS 4 feature we gravitated to first, but once you learn the ins and outs of the multitasking bar, it’s pretty handy too.Speaking of which, our biggest complaint about the iPhone 4 is that its boxy shape just doesn’t sit as comfortably in the hand as the beveled edges of its predecessors did. Don’t get us wrong--the iPhone 4’s design is gorgeous, and we love the look of its steel band and the crisp action of the new volume buttons. But between that boxiness and the oleophobic coating on the aluminosilicate glass, the iPhone 4 feels slippery and harder to grip than its predecessors, especially when taking photos. Still, that’s a fairly small downside, and on the whole, the elegant design quietly convinces you that you’ve got a high-quality, carefully constructed device in your hands.And yes, that means the widely publicized “death grip”--where gripping the iPhone around the black band in the lower-left corner of its steel siding seems to disrupt its 3G connection--is not our biggest complaint. At the end of the day, the iPhone 4 absolutely must function as a phone, and in our testing, we detected a noticeable improvement in call performance. Unfortunately, Apple removed the field-test mode from this model of phone, so we had to make day-to-day observations of its phone-calling prowess rather than crunching hard numbers. I spent a week using an iPhone 4 with one of Apple’s Bumpers (which blocks the “death grip” effect) and another using it without one in a remote-ish area with definite patches in AT&T’s coverage, and found no difference. At the same time, I dropped fewer calls than I did in the same area with my old 3G. So while it hardly added up to a gigantic improvement in AT&T’s generally poor service in the San Francisco Bay Area, the iPhone 4 kept me talking a little more reliably.At press time, Apple released a statement saying it’d found the root cause of the “death grip” phenomenon: an error in how the iPhone 4 calculates the number of bars it displays. Our take is that, at worst, Apple’s been busted for either a software glitch or for fluffing the number of bars, and the promised firmware update will make this all distant memory. So we’re giving the iPhone 4’s phone the benefit of the doubt for now, but we’ll update this review and score if we discover conflicting info or if the firmware upgrade doesn’t resolve this issue.Follow this article's author, Paul Curthoys, on Twitter.

  • iPhone Dev Sessions: Responsive Web-Enabled iPhone Apps

    Back in August 2009, Shufflegazine featured an article talking about what makes a good iPhone app. The article has a good discussion about what apps are popular and why, and ultimately concludes that a good app has to be simple, intuitive, responsive, and give users a compelling reason to use it. Unfortunately, there’s no recipe for how to write a simple, intuitive and compelling app. Our best bet for getting our hands on that recipe is probably this guy, but until he makes that announcement, handling these points is left as an exercise for the reader. Writing a responsive app, however, is much easier. A good working definition for a “responsive” app is one that responds to user input quickly and doesn’t hang without telling the user what’s going on. The rule of thumb here is that GUIs should respond to input in no more than 1 second, so the bar is set pretty high, especially for web-enabled apps. This article describes the most common reason GUIs get unresponsive and what to do about it. How Do These Newfangled GUIs Work, Again? Cocoa Touch’s GUI (like most GUIs) is built on an “event + event loop” architecture. User interactions like taps and keypresses are translated to events, and these events are then processed one-by-one in the imaginatively named event loop: Simplified Event Flow in a Cocoa App As long as each event gets processed quickly, the GUI stays nice and zippy. But because events are processed serially, one event can back up the whole gravy train. If one event takes five second to process, then the GUI will be completely unresponsive for those five seconds until the event loop can start processing new events again. But what if you have some GUI resources that take five seconds to load? We can’t load them all at app initialization time because we don’t always know what resources we’ll need when the app is starting up, especially for things like profile pictures. Also, the iPhone is an embedded platform, so memory for preloading is in short supply, anyway. How, then, can we appease the event loop tiki gods? The answer, young grasshopper, is to load such resources asynchronously, and then update the GUI when they’re done loading. Responsiveness Test Bench To illustrate these ideas, I’ve made a simple iPhone app that loads an image resource for display in an iPhone app GUI three different ways. The Responsiveness Tester. The people responsible for the appearance of this iPhone app have been sacked. Each method loads and displays the same image, but does the loading differently to demonstrate the effect each approach has on GUI responsiveness. The source code for this app is attached to this article if you’d like to play along at home. When the user chooses a loading technique by tapping its table row, a corresponding method is called to illustrate that loading technique. These methods are called directly from the UITableViewDelegate tableView:didSelectRowAtIndexPath: method, which runs in the event loop, so all this code runs directly in the GUI thread. First, let’s have a look at the code from the load-from-file example: - (void)showSynchFileDemoWithTitle:(NSString *)title { UIImage *image; image = [UIImage imageNamed:@"apple-logo.png"]; EagerViewController *view=[[EagerViewController alloc] initWithNibName:@"EagerViewController" bundle:nil title:title image:image]; [self.navigationController pushViewController:view animated:YES]; [view release]; } The code looks like it sounds, right? We load the image from disk, use it to create a new UIViewController, push that UIViewController onto our UINavigationController, and then release the UIViewController back into the wild. This is exactly why synchronous loading is so popular: it’s ridiculously simple. And since we’re just loading a small image from a file, the GUI is still zippy, so synchronous loading is actually fine here. Now let’s look at loading that same image from a synchronous web request instead of a file: - (void)showSynchWebDemoWithTitle:(NSString *)title { UIImage *image; NSURLRequest *request=[NSURLRequest requestWithURL:[NSURL URLWithString:IMAGEURL]]; NSURLResponse *response=nil; NSError *error=nil; NSData *content=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; if(content == nil) image = [UIImage imageNamed:@"big-red-x.png"]; else image = [UIImage imageWithData:content]; EagerViewController *view=[[EagerViewController alloc] initWithNibName:@"EagerViewController" bundle:nil title:title image:image]; [self.navigationController pushViewController:view animated:YES]; [view release]; } The code is slightly more complicated, but still not too bad. We set up a web request for the image, wait for it to download, build an image with the contents of that request if it succeeded or load a default image if it failed, and then build our UIViewController from that image. Still nice and easy, but how does it perform? The problem with synchronous web loading. Hang much? Turns out, not so well. After the user taps “Synchronous from Web,” the app just kind of sits there for a few seconds before it shows the next view. Why? The synchronous web request loading the image in the event loop takes a while to complete, which blocks the event loop and hangs the GUI. This kind of code is surprisingly common despite the hangs it causes. Unless you’re willing to tick off your customers, which is usually considered harmful, synchronous web loading in the event loop is right out. So what’s the asynchronous web loading equivalent look like? Behold, ye mortals, and despair… From RootViewController.m: - (void)showAsynchWebDemoWithTitle:(NSString *)title { LazyViewController *view=[[LazyViewController alloc] initWithNibNamed:@"LazyViewController" bundle:nil title:title imageURL:[NSURL URLWithString:IMAGEURL]]; [self.navigationController pushViewController:view animated:YES]; [view release]; } From LazyViewController.m: - (id)initWithNibNamed:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil title:(NSString *)title imageURL:(NSURL *)imageURL { if(self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { self.navigationItem.title = title; if(imageURL != nil) { self.getlogo = [AtomicAsynchronousWebRequest requestWithURL:imageURL andDelegate:self]; } } return self; } - (void)updateLogoWithImage:(UIImage *)image { [self.logo stopLoadingWithActiveView:[[[UIImageView alloc] initWithImage:image] autorelease]]; } - (void) atomicAsynchronousWebRequest:(AtomicAsynchronousWebRequest *)request didFailWithError:(NSError *)error { if(request == self.getlogo) { [self updateLogoWithImage:[UIImage imageNamed:@"big-red-x.png"]]; self.getlogo = nil; } else { // We have no idea which request this is. Just log it and move on. NSLog(@"Failed unrecognized HTTP request: %@", request); } } - (void)atomicAsynchronousWebRequest:(AtomicAsynchronousWebRequest *)request didSucceedWithResponse:(NSURLResponse *)response andContent:(NSData *)content { if(request == self.getlogo) { [self updateLogoWithImage:[UIImage imageWithData:content]]; self.getlogo = nil; } else { // We have no idea which request this is. Just log it and move on. NSLog(@"Succeeded unrecognized HTTP request: %@", request); } } Oh… that’s all? Well, I guess that’s not so bad. We pass the URL for our image to the UIViewController initializer, and the UIViewController then starts an asynchronous web request for the image and updates the logo view with an image when the web request either succeeds or fails. (Observant readers will notice some custom methods above. Hang tight, we’ll talk about those in a minute.) What does all this trouble buy us? Nice and Zippy. Asynchronous Loading FTW! A wonderfully responsive app, that’s what. The transition from the first view to the second view is instantaneous; the second view shows its spinner until the web request completes or fails, and then the logo is updated with a new image. Why is this UI so snappy? Because all long-running operations are performed outside the message loop, so nothing hangs the GUI thread. Lazy loading for slow resources is clearly the way to go. And if you think about it, this approach is good not only because it runs faster, but also because it’s more modular. The UIViewController being created knows what it’s displaying; it should probably be loading its resources too, especially if that loading is complex, in case that UIViewController needs to be reused elsewhere in the app. So… sweet. A twofer. Being Lazy About Being Lazy If asynchronous loading is what we need to be doing — and it is – then how can we make it easy? It turns out that asynchronous loading is easier in Objective-C than it is in many other languages. In Java, for example, asynchronous loading requires you to mess with callbacks and Threads, SwingWorkers, or ExecutorServices, which feels like jumping through a bunch of flaming hoops while wearing a newspaper tutu. In Objective-C, though, web requests are baked into the API and already have asynchronous callback functionality, which means that asynchronous loading can be had essentially for free, especially if we do a little customization of our own. The app uses two custom classes. I’ll discuss them here just in case the classes themselves or what they do is useful to other developers. Both classes are in the attached source if you want to put your eyes on them, or use them for your own nefarious purpose. AtomicAsynchronousWebRequest The iPhone SDK’s generalized web request API is NSURLConnection, and you can find a good primer on how to use it here. The NSURLConnection exposes way more features than most apps need, though, like hooks for reacting to redirects and chunked input, which makes it more difficult to use than it needs to be. AtomicAsynchronousWebRequest is a thin wrapper around NSURLConnection that lets developers perform the most common web tasks (namely atomic GETs and POSTs) asynchronously by implementing a dead-simple 2-method protocol. DelayedLoadView While the iPhone has a nice “spinner” GUI element (UIActivityIndicatorView) that’s handy for telling the user something is loading, it has no explicit API for populating GUI views lazily. DelayedLoadView is essentially a “container” view that shows a spinner until it’s updated with its “real” content view, which makes handling activity indicators and lazy content really easy, especially for GUIs built-in Interface Builder. Gotchas A couple gotchas have been glossed over in the interest of keeping things at least a little brief. Now that we’re past the good stuff, I’ll mention a few of them here, just in case you want to get creative on your own: All GUI updates must happen on the GUI thread. Cocoa Touch GUI elements, like GUI elements in most toolkits, are not thread-safe. So, if you need to interact with a GUI element, you need to do it from the main thread. If you’re not making your own threads, you probably don’t need to worry about this. If you are, you may need to make use of NSObject’s performSelectorOnMainThread:withObject:waitUntilDone: or similar. Remember that UIViewController IBOutlets are not initialized after super’s initializer completes. Instead, the UIViewController must be set to appear before IBOutlets are properly connected. This means that failure conditions can’t really be handled inside a UIViewController initializer, so any custom load code you write needs to take that into account. If you want an example of how to work around this issue, check how AtomicAsynchronousWebRequest calls its failure method from its initializer roundabouts using a performSelector call. UIActivityIndicatorViews are kind of confusing. You probably want to set hidesWhenStopped to YES. That way, startAnimating and stopAnimating will do what you expect them to. If you don’t see a spinner and you expect to, make sure your UIActivityIndicatorView isn’t hidden. If you see a spinner but it’s not spinning, you need to call startAnimating. Not all long-running operations have asynchronous callbacks baked in. Web requests do, which is very handy, but if you need to do some other kind of loading you’ll have to get creative. If you’re only going to load things now and then, using performSelectorInBackground:withObject: is probably just fine. If you’re going to be doing a lot of loading, though, you won’t want to create a new background thread each time you load something, so you’ll probably want to create a custom NSRunLoop and kick off your loading with performSelector:onThread:withObject:waitUntilDone:. You can synch up the GUI when loading’s done with a simple performSelectorOnMainThread:withObject:waitUntilDone:. Conclusion You’re now an expert on how to build responsive network-enabled GUIs! Or at least you know more than you did. It’s worth mentioning that even though the article focused on loading images, the very same principles can be applied to executing web service calls, loading web pages, or any other task that requires time to complete. I now expect all apps to have responsive GUIs, even if they’re loading resources from the web. You’ve been warned. I’ve got my eye on you, iPhone developers. Stay QWERTY, my friends.

  • Podcast #139: Antitrust and Jailbreaking

    Apple might be in trouble with Uncle Sam regarding iAd and the SDK agreement change that blocks third-party iPhone OS code creation. We give the whole thing a resounding meh. If you're the jailbreaking type, good news, the iPhone Dev Team has released the Spirit update. As usual we give out our regular warnings.Plus, we answer your hard-hitting Twitter and Facebook questions! Okay, they weren't that hard-hitting.Got a question, but you're afraid to leave a voice message because of Witness Relocation Dept. rules? Drop us a question via Twitter twitter.com/maclife.This week's Battlestar Applactica picks:SAS Survival Guide - $6.99Dropbox for iPad - Free Don't forget, the Mac|Life staff would love to hear your thoughts, comments and ideas for the new podcast. Just leave a message on the Mac|Livequestion/comment line: (877) 404-1337, extension 622. Please limit thelength of your messages to 1 minute max. We'll review these calls eachweek and feature our favorites, along with responses, on that week'spodcast.To subscribe to the Mac|Live podcast series through an RSS feed, click here; if you want to subscribe through the iTunes Store, click here.

  • Report: DOJ and FTC investigating Apple (Updated)

    According to The New York Post Apple may be getting scrutiny from the U.S. Department Of Justice (DOJ) and Federal Trade Commission (FTC) for changes it made to section 3.3.1 of its iPhone 4 SDK. The changes prohibit developers from using cross-compilers to create apps for the iPhone, iPod and iPad. The move blocks the use of Adobe's new Packager for iPhone feature in Flash Professional CS5 and has turned into a heated battle between the tech titans. According to a person familiar with the matter, the Department of Justice and Federal Trade Commission are locked in negotiations over which of the watchdogs will begin an antitrust inquiry into Apple's new policy of requiring software developers who devise applications for devices such as the iPhone and iPad to use only Apple's programming tools. Regulators, this person said, are days away from making a decision about which agency will launch the inquiry. It will focus on whether the policy, which took effect last month, kills competition by forcing programmers to choose between developing apps that can run only on Apple gizmos or come up with apps that are platform neutral, and can be used on a variety of operating systems, such as those from rivals Google, Microsoft and Research In Motion. Bloomberg says Adobe requested the review, which isn't surprising, but ZDNet's own Larry Dignan wonders if antitrust should delve into the guts of a software developer kit. Is this just a petty tit-for-tat between Apple and Adobe or does this potential government action raise an issue about regulatory power? Update: According to AppleInsider (via WSJ) the FTC has also inquired about iAd, Apple's new mobile advertising platform.

  • MacBook Pro i7: worth the wait

    I picked up a new “Mid 2010″ MacBook Pro — with Intel i7 processor and the anti-glare, high-res screen — and it's an amazing notebook that pummels what I previously thought was a very fast notebook. Benchmarks are outstanding (as previously noted), but adding a Solid State Drive (SSD) makes the new MBP feel ridiculously fast. I moved the Runcore Pro IV SSD from my previous MBP to the new i7 chirpster and it feels even faster. Migrating from my 3.06GHz Core 2 Duo couldn't have been easier: I simply moved the SSD into the i7, booted from the included media by holding down the “C” key and installed 10.6.3 over top. It takes about an hour, plus about another half hour (give or take) for all the updates from Software Update. Word to the wise: don't forget to deactivate Adobe Creative Suite and to deauthorize iTunes before you pull your HDD/SSD. iTunes purchases can be used on up to five computers, and that can always be reset from the application if you've exceeded the cap, but if you forget to deactivate Creative Suite you have to call Adobe tech support to deactivate and activate remotely. Inertial scrolling is a nice touch that I find myself liking more that I expected. It's useful for two-finger scrolling on long Web pages and documents and it's great for scrolling through long drop-down lists of choices. This feature isn't (currently) available on the Core 2 Duo MacBook Pros, although third-party software allows those user to add similar functionality. The optional, 1680-by-1050 high-resolution antiglare display (an extra $150) is alone worth the price of admission. Nothing is worse that paying $2,000+ for a notebook computer that you can't use outdoors during daylight. The antiglare machines sport a cool aluminum bezel (pictured) as opposed to the glareBook's black glass bezel. The new MacBook Air-like MagSafe power connector (also pictured) has been changed in the new i5/i7 machines but it blocks the Ethernet and Firewire ports when flipped forward. Hopefully the new barrel-style connector helps cut down on the fraying that I experienced on the last few MagSafe connectors. Apple would have done better by putting little bit of extra space between the USB ports. Since 4GB of RAM is sufficient for most applications (and because upgrading to 8GB currently costs $400 from Apple, $500 from Crucial) I'll probably stick with 4GB until prices come down a little. If you've found cheaper DDR3 PC3-8500 options, post them in the TalkBack below. Once my SSD was installed and its software updated, I replace Apple's weak “SuperDrive” with a Western Digital Scorpio Blue 750GB HDD in an Optibay enclosure cranking the storage in this speed demon up to 1TB. You can go up to 2TB by installing two 1TB mechanisms, or my favorite, 1.5TB via one 1TB HDD and one 512GB SSD. But keep in mind, at higher SSD capacities your cost per MB increases dramatically. Lastly, if you've purchased a new MacBook, don't forget to calibrate the battery The battery needs to be recalibrated from time to time to keep the onscreen battery time and percent display accurate and to keep the battery operating at maximum efficiency. You should perform this procedure when you first use your computer and then every few months after that. …and don't leave it plugged in 24/7.

The Comments Go Here

Software Releases