Starting in 2009, I’ve developed nubus|desktop in C++, a news client for Windows, as a technology carrier, primarily to explore fluid UI experiences in OpenGL, resulting in a UI framework with animated controls and beautiful rendering.
nubus|desktop supports RSS, Twitter, and several now discontinued social networks like Google+, identi.ca, and App.net. It features a full Twitter client with largely complete functionality up until ca. 2017, when I stopped most development efforts on it, because Twitter’s policies made 3rd party clients effectively obsolete and the business case non-viable.
The more important part is what it can do and the controls and animations it contains, which are quite elegant and useful for modern user interface development and user interaction design.
ControlCloud
In trying to create a main selector UI without using a tile pattern or a list, and with the goal in mind to be able to reach any item with minimal mouse movement, I came up with a cloud of controls that rotates towards the mouse pointer. When the pointer is in the center, the control barely moves, when it’s farther out it rotates faster, moving the desired item in the direction of the mouse pointer. ControlCloud can handle any number of controls, from 2 to 50 or much more.
nubus|desktop contains a feature-rich Twitter client, displaying a user’s Home/Personal timeline, mentions, DMs, History, Lists, Favorites, and Trends. It can display other user’s timelines and threads or conversations.
New messages are highlighted, with the highlight slowly fading out when hovering over the item. Transitions and scrolling are very smooth, refresh speed can be set from several minutes to near instantly.
As you can see, the tweet size limit is still 140 characters as opposed to the 280 that Twitter allows these days; I mostly stopped developing the Twitter part of nubus|desktop for reasons mentioned above.
Themes
There’s also many different themes available, some more fancy and reminiscent of the time when coding on it began around 2009, with their glass effects and gloss; some more modernist and somewhat flat. Others sport beautiful background images.
Technology
nubus|desktop is written in C/C++. It uses OpenGL for rendering the user interface, FreeType for font rendering and some other libraries like TinyXML, cJSON, zlib and stb_image for data and image processing.
Outlook
nubus|desktop is a technology carrier – a testbed for my OpenGL UI framework where I can try out different controls and animations and play with transitions and effects. I especially love the status bar effect when refreshing timelines, it’s pretty neat (Note that you can cancel ongoing actions in the status bar, too).
Because of Twitter’s restrictions I won’t release it with the Twitter client inside, and since most other social networks it used to support are defunct by now, there’s really only the RSS client left – which, alongside Twitter, I still use a lot. So I may release the RSS portion of it, but I work on other projects too, so there’s more exciting stuff to come.
0 Comments