TweetFollow Us on Twitter

Get Your Growl ON

Volume Number: 22 (2006)
Issue Number: 3
Column Tag: Programming

The Source Hound

Get Your Growl ON:

by Dean Shavit

Making The BIG Cat Really ROAR!

Many Mac OS X users tend to think of Open Source Software as "too geeky to be easily used." After four years of life with Mac OS X, many Mac power users and IT pros alike shy away from using the command-line user interface (CLUI) and gravitate toward the GUI (graphical user interface), which is understandable, because mastering the Terminal isn't an absolute necessity to get work done, or even to support others.

Open-Source with Claws

And so the Open Source world has adapted to meet Mac OS X users halfway. We know because Apple keeps reminding us that much of the BSD subsystem of Mac OS X consists of Open Source tools, and we need look no farther than http://www.apple.com/opensource to get Apple's official line:

    Apple believes that using Open Source methodology makes Mac OS X a more robust, secure operating system, as its core components have been subjected to the crucible of peer review for decades. Any problems found with this software can be immediately identified and fixed by Apple and the Open Source community.

So what Apple seems to be telling us is that the "unsexy" parts of Mac OS X, command line tools like "cp" and "cat" and "grep" and "netstat" are the nuts and bolts on which other non-Open Souce goodies of Mac OS X like QuickTime, Spotlight and Expose depend. In essence, the Open Source parts of Mac OS X, also known as "Darwin" are supposed to be dry and boring, boring and geeky. A quick trip to the source code repository at http://www.opensource.apple.com/ darwinsource doesn't do much to alleviate that predilection. Even more high-profile projects like QuickTime Streaming Server and Open Directory don't offer relief in the way of GUI tools, which, for the most part, are not Open Source, as they are bundled with Mac OS X Server, a commercial product. Even though Open Source super-projects like Fink (http://fink.sourceforge.net) and DarwinPorts (http://darwinports.opendarwin.org) can help us manage the CLUI complexities, and even provide us with comfortable GUIs to do so, it's a pretty safe bet to make the sweeping statement that the vast majority of Apple's involvement in Open Source (I'm not going to count Safari since it's an application, not an OS component) exists within the realm of source code, GCC (the GNU Compiler Collection), and the CLUI. Likewise it is understood that most of the elements making up the "look and feel" of Mac OS X (or the "eye candy" as some like to call it) exist in the realm of Apple's trade secrets and intellectual property.

Five years ago, when Mac OS X was in Public Beta, UNIX geeks were busy organizing and finding ways to get Linux and BSD software packages to run on Apple's new fusion of sleek GUI and Open Source. Much of the effort revolved around getting X11, the standard Linux/UNIX windowing system, running on Mac OS X. X11 was about as different from Mac OS X as Microsoft Windows Explorer, with a multitude of themes and desktop managers. Fortunately, Apple released its own distribution of an X11 desktop manager optimized for Mac OS X in 2002, bringing X11 Open Source program much closer to what the typical end-user would consider "usability."

"Make it Mac"

X11, though, with its own keyboard shortcuts that use the control key instead of the standard command key, its menus pinned to the top of each window (like Microsoft Windows) rather than a menu bar at the top of the screen, and its inability to master some basic GUI tricks like exchanging clipboard data with Carbon, Cocoa and Classic applications, hasn't found the following we Open Source advocates had hoped for. The "big kahuna" of Open Source, OpenOffice, ran well under Mac OS X, but its usability (what some would call usefulness) suffered from being an X11 program. In mid-2005, the NeoOffice project (http://www.neooffice.org) finished its amazing NeoOffice/J port of OpenOffice, bringing a polished Open Source alternative to Microsoft Office that runs on Mac OS X without X11. Other Open Source projects, such as Abiword and GIMP can now run in Mac OS X without the benefit of X windows. Whereas such portability seemed like a distant pipe dream five years ago, each Open Source X11 application that can function independently in Mac OS X brings us closer and closer to a roadmap for all of the best Linux and UNIX software to find its way onto the Desktops of end users and power users alike.

Made For Mac

OK, so Open Source is geeky, boring and clunky, though occasionally, with a Herculean effort (the NeoOffice/J project being a prime example), can bear fruit that blossoms into something all Mac OS X users can enjoy. Many projects, like so many of the groupwares (Zimbra collaboration suite being the latest darling) that everyone hopes and wishes might challenge Microsoft Exchange in the Enterprise, may be diamonds in the rough, waiting to be polished a little. But once in a while, seemingly out of the blue, comes an Open Source project so useful and straightforward and clever that it verges on necessity. And when that Open Source project is something built for Mac OS X, it can be a thing of beauty. The Growl project, which lives at http://growl.info is, in this writer's opinion, the perfect example of such a project. Growl simply roars: install me, I'm useful.


Figure 1. Growl Download Page.

It's difficult to classify Growl, which is often a clue that an Open Source project is either a completely new way of looking at human interaction with computers or is something that defies categories because of its genius. An example of the former is, The Humane Interface (http://rchi.raskincenter.org), the brainchild of the recently deceased and legendary Jef Raskin, founder of the original Macintosh project at Apple, which may cross into the latter category in time. While the Growl project is an example of something born squarely into the latter: something that defies classification and is simultaneously useful to many people. Before delving into an Open Source project, it's always a good practice to see how the developers see themselves, and the main points of their self-description are positively short and pithy:

    First, a bit of marketing:

    "Useful notifications that you control"

    Then, the crux:

    "Growl is a notification system for Mac OS X: it allows applications that support Growl to send you notifications."

    Then, the window dressing:

    "What are notifications?

    Growl includes several display types for notifications.

    Notifications are a way for your applications to provide you with new information, without you having to switch from the application you're already in."

Doesn't seem like a whole heck of a lot on first read. But the key really is in the last bit: ". . .without you having to switch from the application you're already in."

Nonplussed

Nonplussed is one of my new favorite words. I think it's a more elegant way of saying something is so surprisingly weak that I sit there with a look of confusion and surprise on my face when beholding the phenomenon for the first time. Such are my feelings regarding the wimpy way the notification system in Mac OS X tries to get someone's attention: it tells the application to jump up and down. When brought to the front, the application displays the pending notification. That's not a terrible idea, but it can be easy to miss, and gives the user absolutely no idea whether the notification is urgent or simply something to dismiss and keep working. Either way, it results in an interruption and requires interaction on the part of the user.

In a similar vein, there's no easy way to have notifications traverse the CLUI barrier and appear in the Finder, though it's not so difficult with a trick or two. Yet the Finder's icon jumping up and down in the dock isn't a really good way of, let's say, reporting that a scripted backup has completed or a cron job that checks the status of a RAID mirror has found a problem. Things that are running as system processes or command-line tasks, need to report what they do as well. Since they aren't part of the GUI world, they are left without the type of notifications they deserve, those that would report information in a non-interactive way without having to switch between applications.

Howl for Growl

That's precisely the void Growl aims to fill in Mac OS X. Growl delivers non-invasive, semi-transparent notifications that overlay the Desktop regardless of which application is in the foreground or background, along with a notification title, application icon, and pithy message. Years ago, when I was a kid at summer camp, we used to do this silly thing, pounding our fists on the table, chanting "I scream, you scream, we all scream for ice cream." Now, it's time for all Mac users to rise up, pound their fists on their desks and demand from their IT staff: "I howl, you howl, we all howl to get Growl."


Figure 2. Mounted Growl Disk Image.

Getting Growl is pretty easy. Just download the installer from http://growl.info and double-click on the Growl.prefpane. When asked, decide whether you'd like to install Growl for yourself or for all users of the computer. For all users, you'll need an admin username and password. Even though it's not necessary to be an admin user to install Growl, admin rights are necessary in order to use it as a scripting enhancement, if it's necessary to run script with root privileges, so I recommend installing it for all users of the computer.


Figure 3. Install for One or All Users

Once installed, the Growl preference pane reveals a number of options, such as the notification style, the applications registered to use Growl, and which notifications they're set to use, as well as a "Stop/Start" Growl item, that either launches or kills the GrowlHelperApp background process. The styles range from the default "Bubbles" to the more serious-looking "Bezel" and the rather in-your-face "Music Video" which places a long black bar across the bottom of the display right where the Dock usually sits. General Growl preferences govern the Growl background process GrowlHelperApp, whether logging is enabled or not, idle and menu bar status icon settings, and whether Growl should automatically check for updates.


Figure 4. Growl General Settings. Figure 5. Growl Application and Notification Settings.

The next tab in the Growl preference pane governs the Growl-savvy applications registered with the Growl notification system and their notifications, which can be toggled between a state of on and off, and whether they are "sticky" meaning that they will stay on screen until receiving a mouse click. Individual display styles are available for each notification, as well as a priority, should there be several notifications queued. One of my absolute favorite Open-Source programs for Mac OS X, is Cyberduck (http://cyberduck.ch), a wonderful FTP/STFP client, made "just for Mac OS X." For long downloads and uploads, it's very useful to have some notifications more informative than a "jumping" duck, and with the "sticky" option, the notice remains on the screen until receiving a mouse click.


Figure 5. Upload Task Completion Notification.

It's not hard to imagine that useful notifications such as those from Cyberduck would find their way into so many developers' applications. Growl even has recently-added network support, which allows for the relaying of alerts to client machines across a network. It's even possible to set up multiple relays to propagate notifications over a wide area network, though network implementations of Growl are largely unheard of at this point in time. For System Administrators who'd like to send Growl notifications over a network, there's the Growl Perl Module in CPAN (Comprehensive Perl Archive Network) http://search.cpan.org/ ~nmcfarl/Net-Growl-0.99/lib/Net/Growl.pm that can send out Growl notifications without Growl needing to be installed on the originating host, opening up the door to notifications that might come from a Linux or Windows box as well. As a matter of fact, with some cooperation, it's not a stretch to imagine Growl and a network monitor like Nagios (http://www.nagios.org) complementing each other to form a comprehensive solution for local and remote alerts via web server, pager, email and the Desktop.

Growl, Who's There?

Perhaps the most common use for Growl is an application which many Mac users depend on for daily interaction and communication, yet suffer from the "jumping" icon syndrome: iChat. As people on an iChat buddy list come online or go offline, the user gets background sound effects. If a chat is initiated, and iChat is in the background, iChat jumps, it doesn't say who is inviting you to chat nor will it tell you who is available, or who would like your attention. Wouldn't it be nice if it did? Wouldn't it be nice to see the incoming status messages from a backgrounded chat session without brining iChat to the front? Wouldn't it be nice to know exactly who is available or not available with a translucent status message rather than a whoosh sound effect, that says "someone is either coming or going, I don't know who. . ." Well, that's precisely what the free enhancement growliChat (http://www.growliChat.com) brings to Mac OS X. Installing growliChat is a piece of cake, just download it and double click on the disk image (.dmg), then double-click the prefPane to install it and move the application to /Applications.


Figure 6. Installing GrowliChat.

Once installed, and with growliChat running, it's necessary to specify the desired notification behavior. The default is usually good enough, though it's possible to turn notifications on or off for specific buddies. Like Growl, growliChat is configured via a preference pane, with a few tabs of options for each major form of iChat trasport: AIM, Bonjour, and Jabber, making it a suitable enhancement for the new iChat service bundled with Mac OS X Tiger Server.


Figure 7. GrowliChat AIM Notification Settings.

Once everything's configured accordingly, and growliChat is running and registered with Growl, the fun begins! Now, instead of the whoosh sound when a buddy comes online, and having to bring iChat to the foreground to see who may have become available or away, the user's greeted with the following notification:


Figure 8. GrowliChat Buddy Available Notification

I can't begin to gush over how useful this is compared to a whoosh sound. The notification presents the screenname, first name, or full name of the buddy changing status, the status (available) and even a picture (or icon) of the buddy as if the name weren't enough! Since I installed growliChat, I no longer find myself bringing my buddy list window to the front to check out who's left or arrived. So powerful and yet so simple. Kind of like the spirit of the Macintosh itself.


Figure 9. GrowliChat Buddy Offline Notification.

If You Build It, They Will Come

One of the classic mythical ways to make a fortune is to "build a better mousetrap." That whole notion is predicated on the fact, that, everyone has a problem with mice, which Apple has now seemed to address with the addition of the Mighty Mouse to its product lineup. But in the Mac OS X world, people have an issue with application notifications, even if they don't realize it. Others have called Growl an enabler with "multiplier" capabilities that could possibly enrich the entire Mac OS X Software landscape. Today, about 150 applications in 13 categories sport Growl support, from Powermail (http://ctmdev.com/) to the Shiira Web Browser (http://hmdt-web.net/shiira), that shares the Webkit engine with Apple's own Safari to the FTP Clients Cyberduck and Transmit (http://panic.com/transmit). Personally, I can't imagine any developer working on an application that benefited from notifications not considering using Growl support. It just doesn't make sense to roll your own. Hear that, Roxio?

When faced with the task of notifying users of my own application, Mac HelpMate, (http://www.macworkshops.com/machelpmate), that a scheduled maintenance task had completed, I wasn't very thrilled with having a dialog pop up in the Finder, to trigger a leaping Finder icon in the dock, forcing the user to bring the Finder to the front to get the message. Does that sound like a repetitive and familiar complaint? Sure! So, I decided that, if a Mac HelpMate user wanted to install Growl, then I'd support Growl for the notifications instead.


Figure 10. Mac HelpMate Scheduled Task Completion.

Installing Growl also installs the Growl.Framework for Cocoa Developers in /Library/Frameworks. However, since I'm not a Cocoa developer (Although I aspire to be at some point in the future, for now Mac HelpMate is an AppleScript Studio effort), I needed a way to hook up with Growl notifications rather than by using Objective C. Fortunately for me, Growl has some rather easily accessed support for AppleScript. All it takes is a little imagination to add fancy notifications to even the simplest of applications.

Hear that, Apple? There's even a certain crowd of independent developers and their associates who would advocate Apple adopting Growl or choosing to bundle it with Mac OS X. Although Apple has its own translucent bezel notifications, the most conspicuous of which, are the translucent "eject" icon or "volume" icons, that appear over the Desktop, there's not a readily available Framework available for Developers to use. Even though Apple has a track record of imitating popular eye-catching technologies such as Watson (for Sherlock) then Konfabulator for Dashboard, Growl has already gained so much momentum and is complex enough (network support is a perfect example) that Apple would be hard pressed to clone, bundle or support Growl for the typical Mac OS X user. For that reason, my money is on Growl remaining a growlingly popular application most Mac users will never know about (sniffle), unless we, their System Administrators, Support Pros and Consultants, give it to them.

If You Build It, You Can Growl

Those of you who read my column certainly are familiar with the bio and blurb I use to close out each one, but this time, I want to do it a different way. This time, I'm going to sign off using a Growl notification. Let's start with a simple AppleScript application designed to do two things: first, register itself as a Growl application, second, actually send a notification from the application to the Desktop via the GrowlHelpApp process. I'm going to use the sample ApplesScript code from the Growl site available at http://growl.info/documentation/applescript-support.php The simple AppleScript application is going to be called "Authorbio."

    Step 1: open up the "Script Editor" application in /Applications/AppleScript and copy and paste the sample AppleScript code into the new script window

    Step 2: modify the AppleScript with your desired Application name, and your desired notifications

    Step 3: use the very cool Open Source utility img2icns from www.rknet.it/program/img2icns to create a folder from a picture of yourself and then cut and past the icon on to your Application when your finished, like so:


    Figure 11. Custom Icon from Photograph.

    Step 4. Save the AppleScript as an Application, and cut and paste the icon of yourself on the Authorbio Application so that when you "sign out" using the Growl notification of your choice, your face is showing next to the alert--cool!

    Step 5: After initially registering the Application in the Growl preference pane in System Preferences, make sure you've selected an alert style capable of displaying a lot of text. For my own purposes, I prefer the "smoke" style.


Figure 12. Select Appropriate Alert Style.

Here's the AppleScript code of my Authorbio.app Application. You can download the entire project from my site, http://www.themacheldesk.com and customize it for your own use. There's even an example on how to use osascript to run the notification from the Terminal, so you can use it to notify you when cron jobs or launchd jobs complete!

    --present the choice in a dialog:


Figure 13. Authorbio.app User Interface.

set mygrowl to display dialog -
   "What do you want to do?" buttons ["Register", "Sign Off"] -
   default button 2
set grrr to button returned of mygrowl

--if "register" set up notitications and register with Growl

if the grrr is equal to "register" then
   tell application "GrowlHelperApp"
      
      -- Make a list of all the notification types 
      -- that this script will ever send:
      set the allNotificationsList to -
         {"Scheduled tasks completed!", "Dean Shavit", -
            "S.M.A.R.T Error Detected! Backup up your data ASAP!"}
      
      -- Make a list of the notifications 
      -- that will be enabled by default.      
      -- Those not enabled by default can be enabled later 
      -- in the 'Applications' tab of the growl prefpane.
      set the enabledNotificationsList to -
         {"Scheduled tasks completed!", "Dean Shavit", -
            "S.M.A.R.T Error Detected! Backup up your data ASAP!"}
      
      -- Register our script with growl.
      -- You can optionally (as here) set a default icon 
      -- for this script's notifications.
      register as application -
         "Authorbio" all notifications allNotificationsList default notifications -
         enabledNotificationsList icon of application "Authorbio"
   end tell
   
   --if "sign off" then say goodbye to this issue of MacTech
   
else if grrr is equal to "Sign Off" then
   tell application "GrowlHelperApp"
      --   Send a Notification...
      notify with name "Dean Shavit" title "Dean Shavit, a.k.a Sourcehound" 
         description "is an ACSA (Apple Certified System Administrator) who 
         loves Open-Source and freeware solutions for Mac OS X. During the day, 
         he is a partner at MOST Training & Consulting in Chicago, where he 
         trains system administrators in Mac OS X and Mac OS X Server, helping 
         his customers get the best ROI possible from their computer investment 
         while writing for his own website, www.theMachelpdesk.com. Recently, he 
         became the father of an application: the Mac HelpMate troubleshooting 
         tool, available at www.Machelpmate.com. If you have questions or comments 
         you can contact him: dean@Macworkshops.com" 
         application name "Authorbio" with sticky
   end tell
end if

OK, let's run the Application. First, we'll need to choose to register the application so it shows up as a "known" alerting process in the Growl System Preference. Launch the Authorbio, and click the "register" button:


Figure 14. Application Registration

Now, let's try it again, except this time, I'll click the "Sign off Button," and make my grand exit. I'm unsure what I'm going to write about in my next column, but this is such an exciting time to be a Mac user, the world's a veritable oyster. So, my good friends, ciao for now. . . Signing off. . .



Dean Shavit is an ACSA (Apple Certified System Administrator) who loves Open-Source and freeware solutions for Mac OS X. During the day, he's a partner at MOST Training & Consulting in Chicago, where he trains system administrators in Mac OS X and Mac OS X Server, helping his customers get the best ROI possible from their computer investment while writing for his own website, www.theMachelpdesk.com. Recently, he became the father of an application: the Mac HelpMate troubleshooting tool, available at www.Machelpmate.com. If you have questions or comments you can contact him: dean@Macworkshops.com.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Whitethorn Games combines two completely...
If you have ever gone fishing then you know that it is a lesson in patience, sitting around waiting for a bite that may never come. Well, that's because you have been doing it wrong, since as Whitehorn Games now demonstrates in new release Skate... | Read more »
Call of Duty Warzone is a Waiting Simula...
It's always fun when a splashy multiplayer game comes to mobile because they are few and far between, so I was excited to see the notification about Call of Duty: Warzone Mobile (finally) launching last week and wanted to try it out. As someone who... | Read more »
Albion Online introduces some massive ne...
Sandbox Interactive has announced an upcoming update to its flagship MMORPG Albion Online, containing massive updates to its existing guild Vs guild systems. Someone clearly rewatched the Helms Deep battle in Lord of the Rings and spent the next... | Read more »
Chucklefish announces launch date of the...
Chucklefish, the indie London-based team we probably all know from developing Terraria or their stint publishing Stardew Valley, has revealed the mobile release date for roguelike deck-builder Wildfrost. Developed by Gaziter and Deadpan Games, the... | Read more »
Netmarble opens pre-registration for act...
It has been close to three years since Netmarble announced they would be adapting the smash series Solo Leveling into a video game, and at last, they have announced the opening of pre-orders for Solo Leveling: Arise. [Read more] | Read more »
PUBG Mobile celebrates sixth anniversary...
For the past six years, PUBG Mobile has been one of the most popular shooters you can play in the palm of your hand, and Krafton is celebrating this milestone and many years of ups by teaming up with hit music man JVKE to create a special song for... | Read more »
ASTRA: Knights of Veda refuse to pump th...
In perhaps the most recent example of being incredibly eager, ASTRA: Knights of Veda has dropped its second collaboration with South Korean boyband Seventeen, named so as it consists of exactly thirteen members and a video collaboration with Lee... | Read more »
Collect all your cats and caterpillars a...
If you are growing tired of trying to build a town with your phone by using it as a tiny, ineffectual shover then fear no longer, as Independent Arts Software has announced the upcoming release of Construction Simulator 4, from the critically... | Read more »
Backbone complete its lineup of 2nd Gene...
With all the ports of big AAA games that have been coming to mobile, it is becoming more convenient than ever to own a good controller, and to help with this Backbone has announced the completion of their 2nd generation product lineup with their... | Read more »
Zenless Zone Zero opens entries for its...
miHoYo, aka HoYoverse, has become such a big name in mobile gaming that it's hard to believe that arguably their flagship title, Genshin Impact, is only three and a half years old. Now, they continue the road to the next title in their world, with... | Read more »

Price Scanner via MacPrices.net

Deal Alert! B&H Photo has Apple’s 14-inch...
B&H Photo has new Gray and Black 14″ M3, M3 Pro, and M3 Max MacBook Pros on sale for $200-$300 off MSRP, starting at only $1399. B&H offers free 1-2 day delivery to most US addresses: – 14″ 8... Read more
Department Of Justice Sets Sights On Apple In...
NEWS – The ball has finally dropped on the big Apple. The ball (metaphorically speaking) — an antitrust lawsuit filed in the U.S. on March 21 by the Department of Justice (DOJ) — came down following... Read more
New 13-inch M3 MacBook Air on sale for $999,...
Amazon has Apple’s new 13″ M3 MacBook Air on sale for $100 off MSRP for the first time, now just $999 shipped. Shipping is free: – 13″ MacBook Air (8GB RAM/256GB SSD/Space Gray): $999 $100 off MSRP... Read more
Amazon has Apple’s 9th-generation WiFi iPads...
Amazon has Apple’s 9th generation 10.2″ WiFi iPads on sale for $80-$100 off MSRP, starting only $249. Their prices are the lowest available for new iPads anywhere: – 10″ 64GB WiFi iPad (Space Gray or... Read more
Discounted 14-inch M3 MacBook Pros with 16GB...
Apple retailer Expercom has 14″ MacBook Pros with M3 CPUs and 16GB of standard memory discounted by up to $120 off Apple’s MSRP: – 14″ M3 MacBook Pro (16GB RAM/256GB SSD): $1691.06 $108 off MSRP – 14... Read more
Clearance 15-inch M2 MacBook Airs on sale for...
B&H Photo has Apple’s 15″ MacBook Airs with M2 CPUs (8GB RAM/256GB SSD) in stock today and on clearance sale for $999 in all four colors. Free 1-2 delivery is available to most US addresses.... Read more
Clearance 13-inch M1 MacBook Airs drop to onl...
B&H has Apple’s base 13″ M1 MacBook Air (Space Gray, Silver, & Gold) in stock and on clearance sale today for $300 off MSRP, only $699. Free 1-2 day shipping is available to most addresses in... Read more
New promo at Visible: Buy a new iPhone, get $...
Switch to Visible, and buy a new iPhone, and Visible will take $10 off their monthly Visible+ service for 24 months. Visible+ is normally $45 per month. With this promotion, the cost of Visible+ is... Read more
B&H has Apple’s 13-inch M2 MacBook Airs o...
B&H Photo has 13″ MacBook Airs with M2 CPUs and 256GB of storage in stock and on sale for $100 off Apple’s new MSRP, only $899. Free 1-2 day delivery is available to most US addresses. Their... Read more
Take advantage of Apple’s steep discounts on...
Apple has a full line of 16″ M3 Pro and M3 Max MacBook Pros available, Certified Refurbished, starting at $2119 and ranging up to $600 off MSRP. Each model features a new outer case, shipping is free... Read more

Jobs Board

Medical Assistant - Surgical Oncology- *Apple...
Medical Assistant - Surgical Oncology- Apple Hill Location: WellSpan Medical Group, York, PA Schedule: Full Time Sign-On Bonus Eligible Remote/Hybrid Regular Apply Read more
Omnichannel Associate - *Apple* Blossom Mal...
Omnichannel Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Cashier - *Apple* Blossom Mall - JCPenney (...
Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Mall Read more
Operations Associate - *Apple* Blossom Mall...
Operations Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Business Analyst | *Apple* Pay - Banco Popu...
Business Analyst | Apple PayApply now " Apply now + Apply Now + Start applying with LinkedIn Start + Please wait Date:Mar 19, 2024 Location: San Juan-Cupey, PR Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.