From Producteev, to Jive
Our first collaboration with Jive Software was for Producteev, a task manager, that was just acquired by Jive at that time. We helped them create the new version of their OS X application. It was a great and successful collaboration.
When Producteev was finished, they were just releasing the first version of Jive Mobile on the iOS App Store. They also already had an Outlook and Office Jive plugins for those working on Windows systems. But nothing for Mac users…
And there are lots of Mac users at Jive Software, who wished to have a native Mac application to access their account, like their Windows colleagues already did with their Outlook plugin. Since they were all busy working on the next Jive version, they didn’t had the resources to create a Mac app. Fortunately, amongst those Mac users, a few had worked with us on Producteev and they knew the quality of our work.
They contacted us. We discussed. And that’s how we decided to team up with Jive as a Technology Partner to make the Mac application a reality!
Using Jive SDK
During the Jive Mobile conception, the Jive development team created an SDK, a set a tools for developers that provides easy access to the Jive platform. As iOS and OS X share the same programming language, it was a huge head start for us since it saved us the writing of hundreds of lines of code. But despite their similarities, these two platforms have some slight but important differences, which led us to our first mission: adapting the SDK to OS X!
We fought against name conflicts, function incompatibilities,… After a few back and forth with the Jive SDK team, we were on track to start developing the app.
Would it start to be easy at this point? Not at all! One of our biggest challenge awaited us in the corner.
On a desktop application, there are lots of informations displayed at the same time on the screen. It’s not like on mobile application where we display one or two informations at a time. When you show lots of informations, you wind up having duplicated data that needs to be synchronized.
Imagine a private conversation screen. We have a list of discussions, and the avatar of each users inside it. When a discussion is selected, the content of the discussion is retrieved from Jive servers using the SDK. If a user changes his avatar right before the content of the discussion is retrieved, it will show a different avatar between the discussions list and the discussion content. And you will say with good reason: “What a nasty bug!”
To solve this, we needed to uniquely identify each resource returned by the SDK.
When the SDK gives us a user, we search in the previously fetched users if we have one with the same identifier to update it. Thus if the avatar changes, each part of the application displaying it is notified of the change and updates automatically to keep all the interface consistent at any time.
The Jive website offers tons of features. Implementing all of them on the application could have taken years, and wouldn’t have make sense since an app is typically focused on a subset of features. Also, a native application offers many ways to interact with the user: right click, application menu, shortcuts, multiple windows… All these reasons lead us to imagine a new interface, totally different from the Jive website.
The first step to build an efficient interface was to decide which features needed to be implemented in the application. Jive Software shared their experience with their platform to help us make the good choices. They told us what were the most useful features and what we should absolutely add to make the application a success.
After selecting those features, our next objective was to imagine a beautiful and clear interface to present them. We could have used a stock interface that looks like any other OS X application, mimicking the system controls. After all, OS X Mavericks is beautiful! But not beautiful enough for our ambitions of an outstanding app…
After days, trying different styles with our designers, discussing with our contacts at Jive Software, we ended up using iOS 7 to inspire us. Without knowing it, we created a flat design that had a lot of similarities with OS X Yosemite, which wasn’t announced yet at that time.
Thanks to that, we are now ready for the future and we hope that every Jivers using a Mac will enjoy as much as we are this great app we made!