Tumgik
nathandyerdotme · 9 years
Text
Why a Desktop Twitter Client is Better than a Web App
What's the point of Twitter desktop clients? I don't have a problem with a browser tab.
— Sam Hewitt (@snwh) October 27, 2015
I have always been, and shall always continue to be, a huge fan of native desktop apps. While it doesn't make sense to have a native app for everything, some platforms, like Twitter, can be vastly improved by having a native desktop experience. Inspired by a Tweet from Sam Hewitt, I wanted to jot down a quick list of why they still matter. Please note: I'm partially writing about how it could be, not necessarily how it is. I'm also writing from the point of view of an elementary OS user, although most of these arguments are valid on any system of your choosing. These points should give you a hint at some of the things I'm hoping to achieve with future versions of Birdie.
Multiple account support. If you manage several Twitter accounts (in my case, I manage four of them), having an application that supports more than one account is critical. If I wanted to do that on the web, I'd have to have a different tab open for each account, and that experience is clearly sub par.
OS sharing services. Want to share a pic from your Pantheon Photos library straight to Twitter? Want to Tweet about the article or webpage you are viewing in Midori? Want to tell the world about a great podcast episode in Vocal? A native desktop app provides a huge potential for native sharing between apps.
Native gesture support.
Multiple columns. Twitter's support for wide windows is atrociously bad. Instead of expanding each Tweet to a ludicrous level, why not display multiple columns of information if the window gets stretched wide enough?
Better notifications and DND. Notifications from all your Twitter accounts will be available in the new notification center. Click on a notification to respond to a Tweet immediately, or open the notification center again later to see what you missed. Are you in the middle of a project and don't want to be bothered? Just flip on the system-wide do not disturb switch.
Background updates and offline view. Want to check for new messages and updates without getting distracted by all the other stuff? Let the app run in the background and only alert you to tweets you need to see. Also, going on a long car ride with your laptop? Catch up on all the stuff you have missed with offline support.
Follow saved searches and hashtags. In addition to your normal timeline, stay up to date with your interests by keeping track of saved searches and followed hashtags.
Keyboard shortcuts. 
Better in-line media support. Yes, Twitter has added playback for some video sites and added support for inline image viewing from certain sources, but a native app can display media from sites that aren't Twitter-approved for an even more seamless experience. Plus, you can see them all in a way that just feels more native to your platform.
Tweet scheduling. Are you going to be out of town on Saturday night, but want to remind your follows to watch your YouTube video that comes out at 9:00? Set up a scheduled Tweet.
What did I miss? Leave a comment below.
0 notes
nathandyerdotme · 9 years
Text
Why System76 Matters to Me
I have had the pleasure of reading nearly all of Carl Sagan's books, and while I have walked away from each with new insights and a more refined perspective of own my place in the universe, the one in particular that made the most profound difference in my life was Billions and Billions. In the penultimate chapter of the book, and indeed the last one that he himself would pen before tragically succumbing to pneumonia after a relentless fight against a bone marrow disease, Sagan does something completely uncharacteristic: he discusses his personal life. "For years, near my shaving mirror- so I see it every morning," he writes, "I have kept a framed postcard. On the back is a penciled message to a Mr. James Day in Swansea Valley, Wales." The message reads:
Dear Friend, Just a line to show that I am alive & kicking and going grand. It's a treat.
Yours,
WJR
On the front of the postcard is a color photograph of the RMS Titanic. It was postmarked a single day before the ship collided with that fateful iceberg, ending over 1,500 lives, including that of the aforementioned WJR. For Sagan and his wife, Ann Druyan, the postcard was a reminder that "going grand" can be "the most temporary and illusory state." This passage left a great mark on me in a number of ways, but in particular it implanted the idea of placing a visual reminder for myself somewhere I would see it daily. The first time I tried Ubuntu, back when I was just a 14 year old kid, I felt that my life had magically changed forever. It was the start of the next big chapter. It introduced me to the concept of free software, lead to me sharpening my technical skills, helped me decide on a future career path, and allowed me to meet so many incredible people in the various open source and free culture communities. Without hyperbole, discovering Linux in no small way shaped my life and sent me down the path that brings me to today. Shortly after discovering Ubuntu, I became aware of a small company somewhere on the other side of the U.S. that actually sold computers with Ubuntu already installed. What a novel idea! Being a young teenager, I of course didn't have any money to buy a new computer, but I learned that they also offered another service: apparently, if you sent them a self-addressed envelope, they would send you a set of stickers that you could use to replace the Windows logos on your keyboard and computer case. How cool! I couldn't wait to test it out. I scribbled my name and address on an envelope (my handwriting sadly never improved over the years), licked the adhesive strip, and sent it on its merry way. A month later, after I had completely forgotten about the whole ordeal, my parents delivered an envelope to me with my name on it. Sure enough, the kind folks at System76 had delivered on their promise. It wasn't long before I took Sagan's wisdom to heart and placed a sticker somewhere I would see it each day: my bathroom mirror. Since my early high school years, the System76 sticker, as well as an old-school generic Ubuntu sticker that I ordered from Canonical, has served as a daily reminder for me. They remind me why I want to be a software developer. They inspire me to do what I can to chip in, make something cool, and share it with others. They help me remember why it is so important to use software that values your rights and freedoms. They help remind me of why the free software community is so unique, and filled with such talented, friendly, and all-around incredible people. System76, in my mind, is the embodiment of that philosophy. They make truly outstanding hardware, do all that they can to share free software with the world, and go above and beyond to make their users remarkably happy. Last summer I was finally able to purchase one of their machines, and it is absolutely lovely. Not only that, but the entire buying experience was incredible. They called me the day I placed the order just to thank me and welcome me as a customer. When a stick of RAM suddenly died, the tech support was unlike any other I have experienced. They listened to my problem and shipped replacement memory to me immediately. Instead of talking down to me, or insisting that a service rep perform the memory swap, they trusted me to do it myself. Their respect for their users is evident in every interaction, and I will forever be a fan. I don't want to suck up too much, so I'll end this essay here. In the past seven years or so, System76 has meant a great deal to me. There aren't many companies I can say that about. Every day, whether I'm brushing my teeth or writing code on my Sable complete, System76 helps remind me of what is important. And although I'm not an Ubuntu user any more, their dedication to helping everyday users enjoy free software is admirable. Now, if only I could help convince them to start shipping computers with elementary OS.
0 notes
nathandyerdotme · 9 years
Text
The Future of Vocal, Birdie, and More
The Vocal IndieGoGo crowdfunding campaign has reached its deadline and, unfortunately, failed to meet its goal. If you contributed to the campaign I want to personally thank you for your support. Since we set it up as a fixed funding campaign all contributors will be issued a full refund. If you have not already received a refund you should be seeing your money again very soon (IndieGoGo documentation says within five days). I don't want to reflect on the campaign itself quite yet. I'm still too close to it and am in the process of figuring out what it all means. I do think it's important to start thinking about what the future plans are for the project, as well as for Birdie, given the failure. As I mentioned in the developer Q&A from a few weeks ago, not meeting our goal means that we're going to have to make some significant changes. Many of our planned features are going to have to either be dialed back or cut entirely. It's important to be realistic about what is possible and to set expectations accordingly.
Vocal
I've thought long and hard about the changes that will need to take place in terms of our goals for 2.0 and how our project functions as a whole. Before I discuss the features, I want to talk about some changes to the project itself:
Over the summer I will be moving Vocal from Launchpad over to GitHub. This isn't directly related to the campaign failure, it's just something I have carefully considered and made a decision on. It's in the best interests of the project to make this move for several reasons, one of which being that it makes it much easier for me to have both Birdie and Vocal hosted at the same place. Hosting the code at GitHub brings lots of helpful benefits at present that will improve development and also opens the door to exciting new possibilities in the future. When the code for 2.0 becomes available in the next month or two it will be pushed to GitHub.
The Vocal website is going to be moving from Squarespace to Wordpress. As much as I like the current site, using Squarespace is too costly for the project as it stands right now. Eventually it would be nice to use GitHub Pages, but I am not a web developer and my time is stretched far too thin as it is. If you are a web developer who would like to volunteer I would love to hear from you, but in the meantime, we'll be switching to a cheaper Wordpress instance.
I'm focusing all my energy on making Vocal as incredible as possible on elementary OS. Since the campaign failed I will continue to only have at most 10 hours or so per week to devote to development, split between multiple projects, and that isn't enough to customize the code and perform the necessary modifications to provide a great experience across multiple distributions. That time is better spent adding new features and fixing existing issues. If other developers want to volunteer their time to make cross-distro support better we'll welcome those contributions, but for the time being I'm 100% focused on making Vocal as amazing as I can for elementary OS.
Instead of a massive Vocal 2.0 release with all the features listed in the IndieGoGo campaign we'll split the features into multiple major versions. In the future I plan to do smaller, more frequent major releases.
Okay, now for a specific list of features that will be developed as planned:
iTunes podcast store browsing and full iTunes store search. This has been the focus of the work up until now. We already have support for browsing top podcasts in iTunes, as well as searching across the local library and across the iTunes podcast store. These features aren't rock-solid yet, but there has been good progress so far. (Vocal 2.0. Expected by end of Summer 2015)
A stunning new redesign that is both more beautiful and even simpler to use (Vocal 2.0. Expected by end of Summer 2015)
A new playback queue (Vocal 2.0. Expected by end of Summer 2015)
Background feed updates and downloads (either 2.0 or 3.0, depending on time)
Full HTML show notes (Vocal 2.0. Expected by end of Summer 2015)
Variable playback speeds (Vocal 2.0. Expected by end of Summer 2015)
Multiple/mobile device sync (Vocal 3.0. Expected by the end of 2015 at the earliest, most likely 2016)
And features that will NOT be developed as planned (although they might be added in the distant future):
A sleep timer
Chromecast support
Better native experiences across multiple Linux distros
Password protected feeds (unless it's trivially simple to implement)
Birdie
Birdie 2.0 is still on track and is expected to be released by the end of Summer 2015. Specific features have not yet been nailed down completely, but it will feature a refreshed design, better multimedia support, the new Twitter Streaming API, smooth scrolling, and more.
Other Projects
simply elementary
I'm excited to announce that I am launching a new project! One of the stretch goals was to create a new unofficial elementary podcast. Although we fell far short of the goal, I'm going to do it anyway! It's something that I've always wanted to do. Dane Henson, a staple in the elementary community, a great developer, and an all-around cool guy, has kindly agreed to co-host with me! The show is targeted for typical, everyday users. As a general rule it will not feature technobabble or long technical discussions. It will primarily consist of long-form interviews with elementary developers and community members, news, tips, reviews, and lots of other great stuff. The show is titled simply elementary: the unofficial elementary OS podcast. We have done a practice recording and will be releasing a beta episode once our album art and music is finalized (soon). We plan to release new episodes every other week.
elementary Dropbox Mods
My script for making Dropbox work well in elementary is not dead, I just haven't had time to work on it lately. I will devote a weekend to it soon.
What You Can Do to Help
As I said before, I am extremely appreciative of all the people who have contributed to the IndieGoGo Campaign. Although the campaign has ended and the money has been refunded, our expenses remain the same. As of right now we are around $300 in the red, and several expenses for the upcoming year are arriving soon. If you would still like to financially support the project we would gladly welcome it. I'll post links below, and you can always find them here. I know we've mentioned money a lot over the past month so this is the last time I'll ask for your help financially for a good long while. Bitcoin Address: 15Vd7h2kbP3UxYyGyAzqCnURuLzVtUPcW4 Contribute via PayPal Contribute Bitcoin via Coinbase If you can't help financially I hope you'll consider spreading the word about the new unofficial elementary OS podcast when it arrives. I hope you'll also give Vocal 2.0 a try and share your experience with it when it reaches beta later this summer. Thank you all again for your support! If you have questions please leave a comment, send an email to mail [at] nathandyer [dot] me, or find me on Twitter or Google+.
0 notes
nathandyerdotme · 9 years
Text
Why Native, Why elementary OS?
Last week I shared a screenshot of the progress that has been made on Birdie 2.0 (see below) and one person left comments on that post asking questions that I promised to answer in more detail in a blog post. He asked why I write desktop apps instead of web apps, and why I develop apps that are targeted for elementary OS specifically.
Why Write Native Desktop Apps, Instead of Creating Web Apps Which Can Run Everywhere?
The reason why I write desktop apps is actually fairly simple: I want to create the best user experiences possible. Writing a web app is not, and will never be, the way to do that. Don't get me wrong, you can make some pretty incredible web apps, but at the end of the day the only way to provide a truly remarkable experience is to target a specific platform. Users choose to use systems for many reasons, but perhaps the most significant reason is that they like how the system works. They like the workflow, they like how the visual elements are presented, and they like how different components work together to provide a cohesive experience. The best apps feel like they are native to the system you are using. The best Android apps are the ones that most closely follow the Material Design guidelines and use Android-specific features like global media controls, advanced notifications, widgets, etc. The best iOS apps are the ones that follow Apple's design guidelines and feature platform-specific features like TouchID support, App Extensions, AirPlay, Apple Pay, Notification Center support, etc. The same applies to free desktops as well. The best apps are the ones that tightly integrate with the system and feel as close to first-party as possible. Unfortunately, creating apps that feel native to a platform means making difficult decisions and sticking with them. Picking a platform can be a tough decision. In the Linux world there's kind of an expectation that an app will run on Ubuntu and Fedora and Arch and CentOS and OpenSuse and... well, you get the point. The fact of the matter is that each of those systems are different. The same code might run on all of them, but the experience will be muddled. Trying to make one app work in all distros is exhaustive and nearly impossible to pull off effectively. You end up having a mediocre product running on 10 systems instead of one incredible product running as well as possible on one. I struggle with that decision from time to time. Sometimes I feel bad when I get reports that there is an obscure issue causing a bad experience for people on distro A, or icons looking out of place in distro B, or so on. If it's something easy to fix I always try to do so, but at the end of the day I don't have enough time to test the product under each desktop environment and modify the code individually on a one-by-one basis. I hate leaving some users behind, but if I had to do it all over again I would always make the same choices every time. This is the bottom line: I want to make the best apps for users that I possibly can. In order to do that, it means taking advantage of native technologies and making difficult choices by targeting specific platforms. That probably means having fewer users overall, but I would rather have a smaller number of users that are happier using a more polished app.
Why elementary OS?
I love elementary OS. I love the spirit of the project and I have great respect for the technical and design decisions that have been and are continuing to be made. I truly believe that elementary is the future of desktop Linux, and speaking as a third-party developer I want to help as much as I can to make it a attractive option. So, once again, the explanation is fairly simple: I love elementary OS, I believe in the future of the project, and I'm making apps that I personally want to use— and that means making them for elementary OS.  
0 notes
nathandyerdotme · 9 years
Text
Out of the Nest - Birdie 2.0
A short while ago I came across news on Twitter and Google+ that Birdie, my longtime favorite Twitter client for Linux, would be shutting down development. I was extremely sad to hear this so I contacted Ivo Nunes, the main developer for the project, to see if he would be open to the idea of me taking over development. He was very agreeable, so I am excited to announce that I will be developing Birdie 2.0. Ivo will continue to be a part of the project working on other areas as he sees fit. I'm also excited to announce that with this hand-off Birdie will once again be written in Vala, and that the existing 2.0 code will be ported back from Python. I'm writing this just after my conversation with Ivo so I don't have any other specific information to share. This will not interfere with the release of Vocal 1.0. Vocal is currently extremely close to the release candidate stage, and should be available within the next month or so. Right now I'm planning on working on Birdie throughout the summer and having a final release somewhere within that time-frame, but I've not yet looked at the code enough to make any accurate estimates. I'm excited to help make Birdie as great as I possibly can and get the next major version in the hands of free software users as soon as possible.
0 notes
nathandyerdotme · 10 years
Text
Welcome elementary OS Freya Beta Users
First off, I want to extend my congratulations to all the elementary developers and contributors on a fantastic beta release! As most of you know, Vocal has been designed and developed from day one to work seamlessly with Freya. Unfortunately, that meant that it was unavailable for the majority of people to test until now (unless you were impatient determined enough to ahead and build your own unofficial, franken-Freya). With so many new users trying Vocal for the first time I just want to say, welcome! I hope you enjoy using it! Please keep in mind that it is still in beta, so you will almost certainly run into problems every now and again (and when you do please report them here). That said, it should be fairly usable at this point.
Install Vocal
Add the Vocal daily PPA and install it by typing or copying/pasting these commands in a terminal (in this case it's safe, but fair warning- always be careful when a site tells you to type something into your terminal):
sudo apt-add-repository ppa:nathandyer/vocal-daily sudo apt-get update sudo apt-get install vocal
What's New?
Video playback: A vastly improved episode browsing experience: Tons of improvements under the hood, including a simpler and more robust media playback backend, better offline support, faster imports, and much more.
What's Next?
Soon Vocal will pick up exactly where you leave off, by remembering which episode you're listening to after you quit and how far you make it in each episode. A new cleanup system that automatically removes old downloaded episodes is also planned. After that development will primarily be focused on more polish and bug fixes. Once I feel that it's close to being ready I will announce a release candidate. I'll fix any remaining issues after that, at which point it will go stable with version 1.0. As for version 2.0 and on, I have lots of exciting new features in the works. I don't want to officially announce anything yet, but I am confident that you will all absolutely love it. But for now,
How Do I Get Involved?
Donations
If you enjoy using Vocal I would encourage you to consider a donation. Vocal is entirely open source and 100% free to download, and always will be, but it takes a surprising amount of money to create free software. Any donation, even $1, makes a big difference. Visit this link to donate (and yes, we take bitcoin).
Translations
If you are bilingual, translations are fantastic way to get involved. Just visit the Launchpad Translations page for Vocal to get started.
Bug Reports
If you run into any bugs, have would like to suggest an improvement or new feature, please report that here at Vocal's bug tracker on Launchpad.
Let Me Know What You Think!
If you use Vocal I would love to hear your thoughts about it (both good and bad)! You can contact me:
on Vocal’s new Google+ page
on my Google+ page
@nathandyer_me on Twitter
via email at [email protected]
0 notes
nathandyerdotme · 10 years
Text
Vocal Beta Released, Daily PPA Now Available
The first public development release of Vocal is now available! Please keep in mind that this is a preview release. Vocal is still a work in progress. You should only use it at this point if you are comfortable running into unexpected problems and crashes. That warning aside, I have been using it for a while now and I believe that it is starting to feel fairly stable. Your mileage may vary (and if it does, please let me know). Most of the features of the final release are implemented in this beta, with the only major exception being embedded video support.You can manage video podcasts, and technically you can play them in Vocal, but the experience is not what I want it to be yet. Proper video playback will be added over the next few weeks and will be included in the 1.0 release, following a period of additional testing and bug fixing. If you're brave enough to give it a go you can add the daily (unstable) PPA by entering the below commands into a terminal:
sudo apt-add-repository ppa:nathandyer/vocal-daily sudo apt-get update sudo apt-get install vocal
Vocal will only work on elementary OS Freya.* The best course of action is to wait until the Freya Beta is released before trying out Vocal. For the impatient among you, however, you should be able to run it either on a copy of Freya you have built yourself, or on Ubuntu Trusy or Utopic after installing elementary-desktop from the elementary Daily PPA.
Get Involved
Please report any bugs you come across at the project's Launchpad page: https://launchpad.net/vocal If you enjoy using Vocal, and you want to continue to see cool stuff being added, please consider a donation here. Even small donations can have a HUGE impact on the project.
Keep in Touch
Let me know what you think! If you give the beta a try I'd love to hear from you. You can contact me in several different ways:
on Vocal's new Google+ page
on my Google+ page
@nathandyer_me on Twitter
via email at [email protected]
I hope you enjoy Vocal!
0 notes
nathandyerdotme · 10 years
Text
Vocal Development Update #4
We are getting close to the first beta for Vocal! Despite a few minor setbacks that caused me to miss three or four days of planned coding, everything is still right on schedule and it looks like my initial goal of having a beta out by the end of June will be possible. At this point all the core features that I want implemented before the first development release have been added, which means the next few weeks will be focused on fixing a handful of remaining bugs and then additional polish before I release it into the wild for the first time. Please keep in mind any screenshots you see may very well change between now and the final release. This is still a look at a work in progress. Vocal feels a lot more functional as of late. For one thing, the downloads system has been added (although there are some small problems I need to fix). Active download information is presented in a new popup available from the toolbar. Files are downloaded to the local library, and Vocal knows whether to play the local or remote version automatically. Users are able to tell whether or not a file has been downloaded by looking in the episode view. Not only that, but now unplayed episodes are marked with a star so you can always tell what you have and haven't listened to yet. It has also received further integration with the desktop. Once episodes have been downloaded, or if it discovers that new episodes are available, a system notification gets sent. The dock icon also displays information about the number of unplayed episodes and total download progress. Lots of other fixes have been implemented, including a critical fix for a bug in the the feed parser that prevented certain podcasts from being added. I also fixed an issue where only certain episodes were added to the library. The beta is still a few weeks away, but the most challenging parts for this pre-release are behind me. That being said, I want to make the app feel as solid as possible before I let others kick the tires.
0 notes
nathandyerdotme · 10 years
Text
Vocal Development Update #3
Big features and new improvements have been added to Vocal this past week, including two of the most critical components: the database and the episode updates. While there are plenty of bugs remaining to be squashed, those two parts are now operational. Check out the latest screencast: http://www.youtube.com/watch?v=PvPSh8mi1a8 Although development this week has been primarily focused on those two features, additional bug fixing and polishing has been underway. The welcome screen text has been reworded to be more clear and concise. A new error message has been added when a feed cannot be parsed (as opposed to simply crashing). Overall, Vocal feels much more stable than it did just a week ago. But there is still quite a lot of work to be done before an alpha or beta release will be available. I still need to add downloads, which also means adding local podcast file management. Additionally, I need to add OPML support so that you can transfer your subscriptions over to Vocal. So stay tuned! We're getting closer and closer to Vocal's first public development release.
0 notes
nathandyerdotme · 10 years
Text
The Search for Vocal's Icon
Want to contribute to Vocal? Know how to make gorgeous icons? Then this post is for you! Lots of progress is being made with Vocal, and now I'm at the point where I'm in need of a great icon. Unfortunately, my artistic abilities are sorely lacking, so I'm reaching out to the community to see if anyone would be interested in creating an awesome icon for it. The icon would be the official icon for Vocal, and would appear in the dock, the launcher, and in the app itself. It will also be used on official pages like the project page on Launchpad, and social media sites such as Google+. I am looking for something elegant that visually makes you think of a podcast or audio/video subscriptions. If you are interested in contributing an icon, please send it to me in a number of different ways:
@nathandyer_me on Twitter
Google+
Email me at [email protected]
The more at home the icon feels in elementary OS, the more likely I am to use it. If I end up using your icon I will give you a design credit in Vocal’s about dialog. Please just make sure that the content is original, and that it is freely licensed (Creative Commons Attribution-ShareAlike (CC BY-SA)). Any and all submissions are greatly appreciated!
0 notes
nathandyerdotme · 10 years
Text
Vocal Development Update #2
The past week has been primarily focused on completing my final projects for courses this semester, but tonight I turned in my last two projects. I can finally start focusing on Vocal 100%. Despite focusing on school assingments, I still managed to make a fair bit of progress with Vocal. The main improvement is that album art now rearranges itself properly when the window shrinks or grows! The screencast that I recorded (sorry, no audio) should give you a good idea of how Vocal looks and behaves right now. [youtube=https://www.youtube.com/watch?v=AiKGJaYGuhg] I initially started out with my own custom widget in a Grid, and threw in some voodoo on the backend to make it work, but I couldn't find a good solution to fixing the resize problem. So in the end I decided to try a Gtk.IconView, and in only an hour or two I had it looking and working exactly how I wanted. Awesome! There was some additional work on the parser to make it be able to detect audio vs. video. I also started working on integrating video, and have had some success. Vocal is actually able to play video right now, but the experience is nowhere near what I want it to be. I'm going to set that aside for now while I implement more critical features. For the next few days I am going to work on cleaning up some of the code, fixing a few minor issues, and getting Vocal into a relatively stable state with its current minimal functionality. And then, the library management.
0 notes
nathandyerdotme · 10 years
Text
Vocal Development Update #1
The past two weeks of my life have been surreal. I never expected such a positive reaction to Vocal, but I'm thrilled that so many of you are as enthusiastic about this project as I am. Thanks for all the great feedback and kind words! Now, to get back to business :) Last week I was able to tackle many of the problems I was having in turning Vocal into a (marginally) functional podcast client. I spent the entire day Monday fixing the RSS Feed Parser. It seems to be functional now, so importing RSS feeds works like a charm (at least from my testing). As soon as you add a new feed Vocal locates the album art and fills in all the episodes. Speaking of which, the episode selection window is also working now. Once episodes are populated you can choose to either stream or download an episode, and of course you can view each episode's description. Streaming is currently functional, downloading is not. I also polished up the media backend (GStreamer). Before you could only play and pause, and you couldn't select which episode you wanted, but now you can seek to any point in the track and pick any episode you want. It also keeps track of time elapsed and remaining, but that's a boring feature.
What's Next?
In the short term, fixing Vocal so that the podcast cover art rearranges when the window is expanded is my main priority. That, and further polishing, will be my focus for the next week or so. After that most of the remaining work will be centered around getting the local database in place, as well as the downloading and updating functionality. Unfortunately that will take a considerable amount of time. As always, to steal the elementary OS team's motto, Vocal will be ready when it's ready. That said, I'm still on target for a June-ish release.
Want To Contibute?
Right now I'm not really looking for code contributions (I will certainly be in the future, however), but I could really use a good app icon for Vocal. I am looking for something elegant that visually makes you think of a podcast or RSS feed. If you are interested in contributing an icon, please send it in to [email protected], or send it to me through Google+. The more at home the icon feels in elementary OS, the more likely I am to use it. If I end up using your icon I will give you a design credit in Vocal's about dialog. Please just make sure that the content is original, and that it is freely licensed (Creative Commons Attribution-ShareAlike (CC BY-SA)).    
0 notes
nathandyerdotme · 10 years
Text
Vocal
I've been listening to podcasts for nearly a decade now. They've kept me entertained and informed for half my life. Despite my love for podcasts, until now I've always been very disappointed with the podcast managers available for Linux. Many of them are just too darn clunky, bloated, unnecessarily complicated, or feature-lacking to use day-to-day. For a while now I've been working on developing a new podcast app, which I have named Vocal. It's a project that I am extremely passionate about, but I didn't want to talk about it too much or make anything official prematurely. I've never coded anything this complex before. There are a lot of pieces that have to fit together just right. I didn't want to announce anything until I was sure that it would be something I could actually deliver on. I am now confident that I can deliver the experience with Vocal that I have always wanted with a podcast manager on the free desktop. The above screenshot is from the most recent build of Vocal. It's not a mockup, that's actual code (although the final look could, and probably will, change in some ways). Right now I'm targeting it primarily for elementary OS, but once the main features are implemented I am going to explore making it friendlier with other Linux distributions. elementary OS will always be the number one goal, though (at least in the near future). It's open source (GPL v3), written in Vala, and makes use of the latest functionality in Gtk 3.12. Some features for the first release include:
Video and audio podcast support
Streaming and downloading
Automatic checking/downloading new episodes
elementary OS system integration (notifcations, launcher badges, sound menu, etc.)
Importing/exporting subscriptions (individual podcast feeds, as well as entire libraries).
I also plan on implementing podcast discovery and one-click subscriptions for future releases. Device support may also be something I work on in the far future, but there are no official plans right now. I've not had as much time as I would like to work on it this year while at university, but this summer I hope to devote a good portion of my time to making Vocal as stable and impressive as possible. I'm expecting a first release (at least a beta) by the end of June. Stay tuned for updates!  
0 notes
nathandyerdotme · 10 years
Text
A Linux User's Review of Doxie Go
Last year, in my mission to go paperless and digitize all of my photos and documents, I began searching for the perfect scanner. It wasn’t long until I came across several recommendations for Doxie. Doxie is a brand of digital scanners that aims to be really simple to use. It comes coupled with software that makes importing and editing scans supremely easy, and provides integration with cloud services like Dropbox and Evernote. It seemed that all the reviews were overwhelmingly positive, but I couldn't find any from Linux users. Linux isn't officially supported, but as it turns out it you can use Doxie with Linux quite painlessly.
Hardware
After comparing the different models I settled on the Doxie Go. Doxie Go is a portable scanner, meaning that you can take it anywhere and scan at any time. It’s so compact and lightweight that you can throw it in a backpack. The other main advantage to that model over the cheaper ones is that it has a high DPI setting that comes in very handy for archiving photos in the best possible quality (see example below).
It includes a built-in battery that, as far as my usage suggests, seems to last for ~100 scans. The battery life is good, but it takes longer to charge than I expected. I've noticed it can take several hours to charge, depending how low your battery is. The Doxie Go now comes with an AC adapter, and that makes all the difference. My first one did not come with the power adapter, so extended scanning sessions were frustrating. I could only make about a hundred scans, and then would have to wait for the battery to recharge completely. Now, I just plug it into the wall and scan as much as I’d like. The experience couldn’t be better. It comes with a cleaning tool and a photo sheet that makes scanning photos painless. The hardware is very high-quality and doesn't feel cheap in the slightest. It is prone to cosmetic scratches, but it shouldn't be too much of a problem if you try to be gentle with it.
Use a SD Card
I’ve had the scanner for about nine months now, and in that time I’ve discovered that there’s a right way and a wrong way to use it. A lot of it is because I’m a Linux user, but in many ways this applies to everyone across all platforms. I cannot recommend purchasing an SD card enough. For the first few months I used only the internal memory built-in to the scanner, but there were some issues with that. For one thing, I noticed at times after many scans images started getting corrupted or disappearing entirely from the internal storage. It's also worth noting that after about six months my internal storage got corrupted and it completely killed my Doxie, although I'm not sure if that was a defect with the device or if Linux did something nasty to the internal memory by accident. Regardless, the safe way is to always use a SD card.
Workflow with Ubuntu-based Systems
Sadly, the Doxie software doesn’t work with Linux. For Mac and Windows it provides an easy way to import scans, edit them, save them in many different formats, and auto-upload to Dropbox and Evernote. The official software might not be available for Linux, but you can still do almost all of that using native apps. After inserting the SD card (or connecting the Doxie directly, if you choose to disregard my above suggestion) you can navigate directly to the storage device in your file browser. Inside you’ll find all the scans as .jpg files. At this point you can either manipulate the files directly, or copy them elsewhere and keep the original copies safe in case you need to access them again. Editing scanned photos is very easy. Using your preferred photo editor of choice (I’ve found that Shotwell fits almost all of my needs for photo editing), you can open the scans just as you would any other photo. If you have used the photo sleeve it’s likely that you may not have to make many adjustments, except perhaps some additional cropping. As for documents, it’s actually easier than you might think to create PDFs from your scans. Edit the .jpg scans of the documents to make sure they are cropped and orientated the way you would like. Additionally, you can use a tool like GIMP if you need to boost the contrast or brightness (although I’ve found that most documents are fine just as they are scanned). Then, use a command-line tool called convert to create PDF versions. To install convert, either search the Software Center for it or install via terminal:
sudo apt-get install convert
After that, just call convert in the terminal using the input file (you can input mutiple files to put them together into a single PDF) and tell it an output name. For example:
convert ScannedDoc1.jpg ScannedDoc2.jpg CombinedDoc.pdf
Doxie Support
As I mentioned before, at one point the internal memory on the scanner became corrupted and required a replacement. Doxie Support was absolutely outstanding. With a couple tweets they sent me a brand new scanner, as well as a pre-paid shipping label to send my dead one back.
Overall Feelings
I absolutely love my Doxie Go. Scanners have a bad reputation for being problematic, but Doxie is a breeze to use. It’s very well-made and, if having digital scans of your photos and documents is important to you, it’s worth every penny.
0 notes
nathandyerdotme · 10 years
Text
A Pile of Good Things
They say that your first doctor is usually your favorite. That wasn't true for me. A long time ago I watched the first episode of Doctor Who after it was rebooted in 2005, but I didn't like it. I thought it was over the top, impossibly absurd, and had the visual feel of a soap opera. I did not understand how anyone in their right mind could like it. Over time I saw several more clips, but they still never really clicked with me. Several months ago, on a whim, I decided to give it one more try. This time, I decided, I would start with series 5. It was the first episode featuring Matt Smith ("The Eleventh Hour"). To my surprise the overall quality of the show had improved greatly. The cinematography was extraordinary and it looked great it HD. But that's not what made me fall in love with the Doctor Who universe. From the moment Matt Smith first appeared on screen, he was my doctor. I connected with his version of the character. He embodied everything that is so extraordinary about the Doctor: care and compassion toward everyone, an uncompromising sense of wonder, and a childlike innocence (despite all the awful things he has seen).In retrospect, all the Doctors have had roughly those same characteristics. They're all incredibly compelling, funny, caring, and clever. Despite my new-found appreciation for the character, I still would be lying if I said past episodes (especially during Christopher Eccleston and David Tennant's runs) weren't a little too cheesy for my liking. I know that a lot of Whovians have criticised Steven Moffat, the current showrunner, for how he has handled the Doctor, but for me Moffat has handled it better than anyone before. Not only does Doctor Who have a more serious and professional feel where appropriate, but it also has more sentimental and emotional scenes. I have cried many times throughout the series. You really do come to care for the characters, both companions and series regulars alike. I'm also surprised at how well it tackles difficult questions about life, death, and everything in between. So, people who I've said were crazy for liking Doctor Who: I was wrong. Very, very wrong. It's a very important show with 50 years of incredible cultural influence. And it also happens to be a heck of a lot of fun to watch. I've spent the past three months on a whirlwind tour watching as much Doctor Who as possible. I've seen all of series 5, 6, and 7 (multiple times), and all of the Matt Smith specials. I've also watched a lot of episodes featuring David Tennant and Tom Baker (who, behind Matt Smith, is my favorite Doctor, although I also really like Tennant). That said, I have seen at least one episode featuring most of the doctors. So here is my opinion on how to get started if you're a new fan, or if you've seen episodes in that past that have turned you off to the series. No matter how many fans tell you to start with the first episode and watch it straight through, the proper order (IMO) is:
Start with series 5. DON'T make any judgements one way or another until you are at least four episodes in.
Follow with series 6.
When you are finished with series 6, go back and watch the episodes "Silence in the Library" and "Forrest of the Dead." Optionally, watch "Blink" because it's often cited as the best episode of Doctor Who.
Watch series 7, but make *sure* to watch the Christmas special called "The Snowmen" at the appropriate point half-way through the series (it will be obvious).
After series 7, watch "The Day of the Doctor" (the awesome 50th anniversary special that is one of my favorite episodes of television that I've ever seen) and "Time of the Doctor."
Finally, go back and watch old episodes at your leisure. Series 2-4 with the tenth doctor are mostly good, but can be fairly cheesy sometimes. As I said before, I also recommend watching the episodes featuring Tom Baker if you can find them.
I have immensely enjoyed watching Doctor Who, and can't wait to see what new adventures lie ahead when the show returns this year with a new Doctor. As much as I miss Matt Smith, I'm curious to see how Peter Capaldi will handle the Time Lord. Allons-y!
0 notes
nathandyerdotme · 10 years
Text
Introducing Sundown
I am immensely proud to introduce Sundown, a really simple app I've been working on for a while. Ever since I was a little kid I've been keeping track of how much of my day is already gone, and how much of it I have left. That's exactly what Sundown does. You tell it when you woke up and when you're planning on going to bed, and it does the rest. It tells you an overall percentage of your day, and gives you an idea of exactly how much time remains. Once you enter a time, you can "set it and forget it." It remembers everything, so after you close it you can just pick up where you left off. Sundown uses the Granite API and feels most at home in elementary OS (but will work in other Ubuntu-based Linux systems as well). It is entirely open source, available under the GPL 3 license.
Install Sundown 1.0 "The Moth"
Download the Debian Package
64-bit (amd64) 32-bit (i386)
Add the Sundown Stable PPA
ppa:nathandyer/sundown-stable *Note: as of right now, only Precise (Ubuntu 12.04) packages are considered stable. These will work in elementary OS Luna and any Ubuntu 12.04-based system. Additional series will be available very soon in a new Sundown Daily PPA.
Check it out on Launchpad (Source code, bugs, etc.)
http://launchpad.net/sundown Please report any bugs you find at the Launchpad project page. If you have any suggestions for improvement, please either file a bug report or email [email protected]. Also, if you would like to volunteer a better looking icon for consideration, it would certainly be appreciated! The current icon could use some improvement.
0 notes
nathandyerdotme · 11 years
Text
Fez
Fez was the game I had been looking forward to playing the most of any game in recent years. After a long period of development it was released on XBLA, then was made available for Windows with a promise that Linux and Mac ports were coming soon. Fast forward to a couple weeks ago, when I came to discover that the debut of the Mac and Linux versions of the game were now available, and were part of the latest Humble Indie Bundle. I threw money at my screen, and in no time I had everything downloaded. Fez is a remarkably beautiful game. Although it looks kind of 16-bit-ish, the pixel art is just breathtaking. The scenery, both in the foreground and background, is vivid and really pops out at you. It might have taken years to perfect the game, but the end product is something very special. The idea of the game is really cool. You play as a character living in a 2D world, then a level into the game something strange happens and he comes to learn that there is a 3rd dimension. From that point forward, you rotate the world left and right across the third dimension to explore, collect pieces, and solve puzzles. The reason I am enjoying it so much, besides just how darn pretty it is, is that it's relaxing.  There are no time limits, penalties for deaths, or baddies you have to fight. Your entire job is to just explore and solve puzzles- and it's a ridiculous amount of fun. When I want to unwind, Fez is a great way to do it. Just in case there are other Linux users curious about how well it works, I'll talk directly about the Linux version for a minute. After purchasing the game you are directed to downloading a .bin file. Make sure it has executable permissions, then simply click to run it. The installer asks where you'd like to save it (I'd recommend ~ /.fez), and it does its thing. After that, you will find Fez available in your normal application launcher. It opens full screen, and at least on my system, runs completely as expected with full performance. This is a great Linux port. If you've not played it yet, go ahead and grab a copy while the Humble Indie Bundle 9 is still available. Support a few good charities, and let the developers know you appreciate the extra work they put into making the Linux version. Click here to be taken to humblebundle.com, where you can buy the Humble Indie Bundle #9
0 notes