September 10, 2013 at 5:56 pm #64018
Greetings, DPS Denizens!
At long last we are re-designing our DPS audio enhancer software products. Those of you who have used the Mac, PC and iOS applications know that, while they sound great, they look and feel completely different from each other. It’s time to unify the design!
Many of you have been using DPS software from its inception as the iTunes Plugin. As we developed for other platforms, the technical requirements of each platform led us down different development paths. However, time and experience have shown us there can be a common look and feel across all of the platforms with minimal differences on the surface.
But what interface really “feels” best? For example, the Windows DPS software has a “top 5” profile selection method while the Mac DPS version uses drop down menus. Which is better? Is there a better way to access profiles? You can help us decide!
DPS as it stands today:
DPS Plug-In for Mac
The Mac version runs in the background and is accessed by clicking the “B” icon in the top menu bar. The interface above is opened by clicking “Preferences” in the menu. Profiles are selected via the dropdown menus next to each “Listening to” category.
The Equalizer tab looks like this:
Profile downloads are located in another tab like this:
DPS Plug-In for Windows
The DPS Plug-In for Windows also runs in the background and is accessible via its icon in the System Tray. Clicking the System Tray icon opens either the User Interface (UI) with the B button or the Preferences window. The profiles are selected via the “top 5” buttons on the Preferences page. The Advanced Profile Browser also exists on this page for downloading profiles.
This is the Equalizer tab:
Notice the Built-In, Desktop and Headphones buttons at the top of the Eq window. The UI B button turns green when DPS HEAR is engaged.
Bongiovi DPS iOS app
The Bongiovi DPS iOS app is a media player that enhances the audio of your iTunes library as long as it is not protected by DRM. The picture on the left is the main screen where you choose how to access your library. The picture on the right shows the “Now Playing” screen as well as the Equalizer. The equalizer has a graphic representation of the frequency ranges affected by the sliders. Touching the “gear” icon opens another screen where the user may choose profiles from a drop down menu.
What we need:
A unified Style that adheres to the new BA style.
Unified (as much as possible) controls
Unified names for controls
- A user experience that is intuitive and requires the least amount of text instruction possible.
We are open to any and all suggestions. No idea is too big, absurd or out of the question at this point! Our vision is a nice clean app that looks professional and is fun and easy to use. Yet audio is a tricky thing for the average user. Less is more in this situation.
If you agree with an idea you see in this thread please reply with a yay or nay. Ideas with more votes are more likely to appear in the final products.September 10, 2013 at 6:13 pm #64048Joseph BeatyKeymaster
I personally like the top 5 method in Windows as they are usually my top 5 choices for the various things I do with DPS. Curious of other people’s thoughts on which way is better or how it could be improved as well!September 10, 2013 at 8:32 pm #64047rnadeau6299Participant
I also like the windows approach but also give the power users the option to expand on the option for adjustments. I don’t have a mac so can’t elaborate on it. But I know what I what like to see.September 11, 2013 at 4:11 pm #64046jimbodenMember
I’ve always liked the top 5 Windows style and haven’t seen the Mac version until now. I prefer the Mac style because it gives you all the basic info you need without opening other windows.
Just noticed after I posted this that your system clock is 4 hours ahead of Eastern time. My post was made at 12:11pm and the system says I posted at 4:11pm. Sounds like it might be on GMT.September 11, 2013 at 7:06 pm #64045
Good catch on the time, Jim! I wrote that post from Bristol, England so I didn’t notice. Ill check the clock though. We should all be seeing EST since that is where our office is.September 11, 2013 at 8:22 pm #64044Joseph BeatyKeymaster
I think a condensed way to see the profile descriptions in both versions would be nice. For example, you still have to hit the “profiles” tab in the mac version to see the individual profile descriptions. Why not have the descriptions come up when you choose a profile inside of the settings tab as well…September 12, 2013 at 5:49 pm #64043
Here is one of my ideas for main screen controls layout:
A message area would be reserved at the top of the window so the user will always know what to do next. Perhaps the message area could also display the description of the currently selected profile whenever a new one is selected?September 13, 2013 at 6:41 pm #64042
Here is a real quick sketch from our designer, Mike. It’s a neat concept for iOS that is a nod to the sleeker designs seen in iOS and Win 8. One of the ideas that makes it different from the current Bongiovi DPS app is that you can swipe the main page left or right to access profiles or Eq or Now Playing etc:September 19, 2013 at 1:18 am #64041mikeywardMember
I know it sounds arcane, but for shell scripters and developers who want to support customers with DPS installed on their machines, it would be invaluable to be able to read and change DPS’ output source via the command line (on the Mac, specifically).
Is this already possible, or something you might consider adding in 2.0?September 19, 2013 at 4:08 pm #64040
Currently we use application URLs (in both Windows and Mac) for the more basic functions: http://help.dpsplugin.com/wiki/doku.php?id=app_url_functions
Extending this feature to selecting an output device not currently associated with a device category (Built-In, Desktop, Headphones) may be tricky. The app would have to poll the current output device list then return a value. How would you envision a system/method that would be good for multiple platforms?September 19, 2013 at 4:55 pm #64039mikeywardMember
Hmm. Interesting problem. After considering it with my team, a few options bubbled to the surface:
- DPS could write to a globally-readable common-language (JSON, etc.) file a list of the categories, which routes are currently selected for them, and which routes are available to them. This file could be updated any time the routes change. Pros: relatively easy to implement, totally cross-platform. Cons: possibly fragile implementation, as client apps would probably have to hard-code the file’s location.
- The custom URL protocols could define a mechanism by which a response url-scheme could be passed in as a value to the request, such as bongiovi-dps://request-routes/?return-url-base=”my-cool-app”&request-guid=”…”. Notice that my sample URL has also passed in a request-guid that would be used by the client app to pair outgoing requests with incoming responses. DPS could then, upon completion of the request, post an application URL using the passed-in base and supplying the response as a URL-encoded JSON object: my-cool-app://<request guid>/?json=”…”. Pros: relatively easy to implement, totally cross-platform and non-fragile. Cons: Depending on size in bytes of response, may not be performant. Then again, this could be mixed with the above Option 1, where the response payload is written to disk, and the response url only passes in a path on disk to the response payload. Lots of tweakable options here.
- DPS could implement one of several RPC libraries, such as Cap’n Proto (http://kentonv.github.io/capnproto/) or ZeroRPC (https://github.com/dotcloud/zerorpc-python). Pros: very performant, cross-platform. Cons: steep learning curve, not exactly easy to implement.
Do any of those options sound reasonable?September 19, 2013 at 10:55 pm #64038
1. Currently Mac and PC DPS stores all settings related to the output categories in the registry or a plist file. These locations are common to the platforms and follow standard practices. I could understand using a JSON flat file to store this data if the DPS application were Java based and we were trying to maintain a single codebase for all platforms. However, our current codebases are rather platform specific due to the nuances of real time audio, synchronization and legacy factors.
2. I like the idea of extending the application URL scheme to pass command or DPS profile data to and from other apps. DPS profiles are only a few kilobytes. This might allow loading of a profile in the background and pretty much all of the user accessible functions of DPS. I’m not totally sure of a practical purpose for this but it is a super cool concept!
3. From a quick scan of the definition of RPC it seems to be a format for superduper fast lossless data transfer. This would make sense for audio streaming and it sparks some nifty ideas in my brain for speech or pattern recognition…hmmmmm
So, Mikey, since we are waxing philosophically, how would you see a developer utilizing a DPS Mac or PC API to add value to their own applications?September 20, 2013 at 12:14 am #64037
And on the subject of design, this is a great article: http://io9.com/5945379/consider-these-crucial-star-trek-lessons-before-creating-your-next-user-interface
Shall we borrow from sci-fi?October 9, 2013 at 9:21 am #64036
Here is another sketch from our designer for the desktop software:October 9, 2013 at 9:52 am #64035jimbodenMember
I like the look. Nice and simple and it seems to fit with current “desktop” designs, including iOS. I assume the lion is optional. 🙂
- The topic ‘DPS 2.0 Redesign Mission Statement’ is closed to new replies.