Service Rotation Cycle

As far as I’m concerned, there are two different strategies for deciding what services to use. You can either choose to use services from a single vendor, or you can shop around for the best service in each category. There are definitely pros and cons to both, and I’ve found that I’m in a constant battle between the two strategies. As a primarily Apple user, I’ve been trending towards using their services over the past year as they’ve improved. Apple’s services used to be fairly laughable, but for the large part they have been almost as stable as anything I’ve used in the past.

Almost.

Around a month ago, around 7/8 of my bookmarks just disappeared from Safari. I tried to think of every option/setting that I could have accidentally toggled that would cause this to happen. But in the end, it was just a bug with iCloud. I was frustrated at loosing around 70 bookmarks, but I just put it off as a very rare bug (I have never heard of anyone having problems with bookmarks). A few weeks later, as I had rebuilt most of my bookmarks, they all disappeared again but the original ones were back. This left me with duplicates of basically all of my bookmarks.Now I felt like I fell into the camp of people who had legitimate problems with iCloud. I’m not saying that iCloud has major underlying architectural problems. It might, but for the most part it seems to work just fine. But far too often do I find developers on Twitter complaining that iCloud and CloudKit are not what they need to be and are more trouble than they are worth. For me Ulysses is the only app that I have found handles iCloud sync perfectly. All other programs have either had minor hiccups or have flat out not worked. But at this point, even minor hiccups are not acceptable for cloud services. They must be rock solid 100% of the time. Apple is definitely not this reliable, so why have I stuck around on their services? I’m mainly trading reliability for features. Obviously Apple’s first party services work really well on their own platforms. Using anything else seems to feel like a hack. Sure I can use Google Services, but they won’t feel the same. I can use Google Photos, but when I go to pick a photo in an app that uses UIImagePickerController or any other sort of image picker, its going to show me iCloud photos and not whats in my photos app.

Here are what I would consider the major services categories and the pros and cons of going with Apple vs. the best on the market

Document Storage

I have actually had the least amount of issues with iCloud Drive. I cannot recall any syncing issues or lost files that I’ve had. If I were to switch to another cloud storage provider, it would probably be Google Drive. I’ve heard too many complaints about the Dropbox Mac app lately to want to use it, and I don’t think I’d be comfortable with any other company. I really don’t give a crap about Google having my data, as they haven’t fucked up thus far. If I were to move to Google Photos, then I would definitely move to Google Drive to save money. The main benefits now of using iCloud drive are that I can sync my Documents folder and Desktop directly to there. It’s worked fine for me so far, but some people are justifiably terrified of this(it probably helps that I keep both of these directories fairly lean). In addition, many apps sync directly to iCloud Drive, which is super handy and makes Handoff work much better.

Music

I actually just recently switched from Apple Music to Spotify, which is probably an entire blog post in and of itself, but I’ll sum it up here. I started using streaming services way back when Spotify was in beta in the United States and no one had heard of it. I then moved to Google Play Music because I wanted to upload my own music that wasn’t in the streaming catalogue. This was back when I was on Android and I stuck with it until Apple Music came out. I tried Apple Music for the three month trial, but went back to GPM because I found that I really didn’t want to deal with iTunes, and the service as a whole just wasn’t there yet. However, I switched back to Apple Music in June after the iOS beta came out with a drastically updated UI. I have been fairly satisfied for the past few months, but recently they have started to mismatch my remixes, which if you know me, is the number one way to piss me off. It has been somewhat of a struggle moving my library over to Spotify, but I’m sure this will be ironed out with time. Spotify has many more features than Apple Music, including a great API, a Mac App that isn’t iTunes, a web client, and integration with some great DJing apps. The only downsides of leaving Apple Music are that I loose a native Apple TV app and Siri integration. Siri never works for anything, so that doesn’t matter, and I can just airplay Spotify to the Apple TV.

Calendars

Calendar services really don’t matter. I am currently on iCloud calendar to be consistent, but I could switch to Google Calendar with almost no effect on my usage. I only access my calendars in Fantastical, and it has equal support for Google and Apple.

Mail & Contacts

My mail service history has been all over the place. I first started out with a normal gmail address. When I wanted to get an email tied to my own domain, then I moved over to Google Apps. This worked alright, but it really showed how Google Apps accounts were different than personal google accounts. I wasn’t able to access certain Google features like Google Now and Inbox, so I had to manage two Google Accounts. After that, I decided that I wanted to have a super secure email. This led me to using Protonmail for my email, along with having my existing gmail account and school email forward to this account. I stayed with this for quite a while and was pretty happy. The only problem was they did not support IMAP and I was getting tired of their subpar mobile apps and web interface (but mainly I just wanted to use Nylas N1 on the desktop). So now I’ve moved to Fastmail. However if Protonmail adds IMAP support, I’ll probably move back.

Photos

The two main options for cloud photo storage are iCloud Photos and Google Photos. Independently, one could argue that Google Photos is the better service. However, the problem is that on iOS whenever I go to share or use a photo in an app, it pops up the photo selector that includes iCloud photos. In order to upload a photo to instagram or something using Google photos, I would have to download the photo from Google Photos and then go and find it when I upload it in the app. iCloud photos is also nice because it has a native desktop app. So for now, I’m sticking with iCloud Photos

Conclusion

Apple has taken a lot of flak for how they treat AI and machine learning. They argue that there is a way to do it privately, while Google thinks that the more data they have, the more useful they can be to you. The problem is that I think Google is right. And if I want to be able to benefit from what Google is doing in the future, I am going to need to put my data there. I don’t really have too much problem with Google knowing everything about me as they probably already do. The next year or two will really decide where my data will be.

Using OmniFocus as a Read-It-Later Service

Throughout the day, I come across many articles, videos, and even songs that I want to read, watch, or listen to. But for whatever reason, I am too busy to deal with it at the time of seeing it. This is where read-it-later type services come in. These services give you a central repository for you to add content to consume at a later time. Services such as Pocket and Instapaper have gained a lot of popularity in the past few years as people consume more and more content online.

I started out using Pocket as my Read-it-later service because it was available on every platform, and was extremely easy to get content into with plugins for my preferred RSS reader and Twitter client. The problem with Pocket is that it wanted you to consume the content from within the app. For some things, like fairly standard blogs and news sites, this works fine. Pocket strips out many of the distraction on pages, such as ads and navigations elements. A problem arises when you try and add anything besides static HTML web pages to Pocket. For example, when I would try and add a Soundcloud link, Pocket would freak out and have no idea what to do with it since it isn’t static text in HTML.

With Pocket’s problems, I tried Pinboard. Pinboard is great because of it’s simplicity. It acts as a database of links that you can easily tag and organize. There is a dedicated unread section that is meant to act as a read-it-later service. It’s meant to be built up over time, and you can search through it to find articles you saved. The problem with Pinboard is that I have no use for a personal index of links. If Google didn’t exist, then maybe I would want to keep track of all the things that I’ve read or watched. But if I need to find something that I’ve seen before, it’s easier for me to just Google it rather than looking in some other database.
While Pocket and Pinboard were doing what I wanted, I realized that the act of reading/watching/listening to this content is nothing more than a task that I want to deal with at a later time. So the most logical way to save these links for later was to add them into my task management system. Omnifocus, my task manager of choice, has many features that allow me to effectively sort through all the content that I need to deal with.

To start, I created a master project called TCL (to consume later). This allows me to organize all of the links in a central locations. Next, I have three new contexts: To Watch, To Listen, and To Read. This allows me to separate different mediums that I might want to consume at a time. Throughout the day, I will create tasks for any type of content that I want to remember to deal with later. On macOS, its normally using the built in Omnifocus share extension. I will title the task whatever I want, and then it will put the link in the notes field. Later, I will go through and add all of these tasks to TCL and assign them the correct context. On my iPhone and iPad, I made a custom
Workflow that grabs the link, automatically puts it in the TCL project, and prompts the user which context they’d like to apply. You can find that workflow here.

So far this new method has worked very well for me. It allows me to forget about this content until I have time to go back through and sort through them, which is the whole point of a read-it-later service. I also don’t have to worry about another service to manage.

WWDC 2016 Predictions

There's just over a week until Apple holds their annual Worldwide Developers Conference in San Fransisco. The frameworks, products, and updates announced at WWDC will define how Apple products will work for the next year. Developers are eager to learn about new APIs and products that will allow them to better cater to their users. My dive into Apple development has lead me to be more aware of these changes and what they really mean, so I am really looking forward to this years WWDC. I thought that I would make a post on my hopes and predictions on what will be announced this year. I will try and keep these as realistic as possible, but no promises. 

Swift 

With Swift going open source, the future road map has been pretty much laid out, so there probably will not be any huge announcements at WWDC. Swift 3.0 is expected to ship in the later half of this year, and will be a rather large release. This version of Swift is meant to future proof the language, and the developers of the language want all future versions to be source compatible. Some of the major features of Swift 3.0 will be a new built in package manager, better Linux and other platform compatibility with the Swift Standards Library, and a ton of syntax changes and depreciations. 

iOS 10

My hopes for iOS 10 are basically the same as Federico Viticci wrote at MacStories.net. A system wide dark theme seems very likely considering the rumors of an OLED iPhone, and the fact that the WWDC app is dark by default. A Siri API is long overdue, and Apple cannot afford to wait much longer with the recent advancements from Google and Amazon. This wouldn't be that difficult to implement, as Apple could build off NSUserActivty and CoreSpotlight. I'd also love to see user definable default applications in coordination with better deep linking across applications. 

MacOS

OS X is rumored to get a name change to macOS #. Heres a great concept by Andrew Ambrosino on what macOS might look like. The biggest change will probably the ios-ification of the operating system. There have been several leaks showing that Siri will be coming to the desktop, hopefully in a much better state than it is on mobile. Apple may also bring UIKit to the Mac and finally retire AppKit. This would greatly ease the pain on Mac developers and would also invigorate the Mac App Store, which is in desperate need of assistance. 

Wildcards

Unfortunately, I don't think there will be any hardware announcements at WWDC (trying to not jinx a 5k Thunderbolt display). tvOS will probably get some updates to bring it in line with the new version of iOS, but besides from that I'm not sure what else to expect for the Apple TV. 

The Beginning of Summer 2016

So I'm home from college after a great spring semester. I think the end of my semester went very well, and I'm looking forward being able to spend time with friends and on personal projects. 

The first project that I worked on was a new desk setup for while I was at home. 

This is pretty much my perfect setup for right now. Only real addition to be made in the future will be a mechanical keyboard. This should be a great platform for me to accomplish any projects I want to over the summer. 

My next goal is to get through Hacking With Swift by WWDC. This leaves me a little over a  month to get through basic iOS development before Apple changes everything with Swift 3.0 and the iOS 10 SDK. 

After this, I plan to start really working on my note taking app. I already have part of the interface done in Sketch, so it should not be that hard to implement an initial version. The hardest part will be getting everything to work together just the way I want them to. 

I also want to work on an Avicii mega mix to commemorate Avicii's retirement, so look for that sometime over the summer as well. 

I Switched to all Apple Services and I'm Not Dead Yet.

 

For as long as I’ve been into technology, there has been a strong stigma towards Apple's cloud services. If you searched online, you could find countless testimonials about how people were not receiving their mail, calendars would’t sync, or documents would disappear. Today, Apple’s iCloud services have improved drastically over its MobileMe relative. So, I decided to switch over to all Apple services. 

I have always been a strong advocate for Google’s cloud offerings. They have a very strong track record, and their services, especially drive and Gmail, are the industry standards for mail and file syncing. I used Google services because I trusted them, but also because they worked so well across different platforms. When I was using Android, they obviously worked very well. But when I switched back to iOS, they still worked with everything and I was able to use them more or less the same. 

I always told myself that I would stick with them because I cared so much about this cross platform compatibility. But as time goes on, I’m finding that I care less and less about this feature. At the same time, Apple’s services have become more and more enticing because I currently use all Apple products. There are features this integration provides me that other services simply cannot. I have no plans to change platforms in the near or distant future, so why should I care about compatibility with platforms I don’t use?

Apple’s services have really matured to a point where I’d say they are 90% as good as Google’s offerings. While I’m still using ProtonMail as my email provider, everything else is now routed through Apple. This switch also gave me an opportunity to evaluating how I was using each service. I managed to organized my calendars a lot better than I had before. I have finally unified my contacts from the different places I had them, and I am currently organizing all of my music within Apple Music. 

So far I am very happy with my move to all Apple services. It feels good to know that I have simplified things greatly and I don’t have to deal with so much data spread over different services.

Journey into iOS Development

Part 1

One of the purposes of this blog is going to be to force me to learn things by putting public pressure on myself. One of these things is going to be learing iOS develpment.

My first project is going to be a simple note taking app. I have big plans for this app, but I'm going to start with the basics. This will allow me to grow the app as I grow my skills, and it gives me a chance to use a broad range of frameworks and features.

The application is avalible on my Github. I will try and post here every week describing my progress with the application and what I have learn. I'm hoping I can keep this sort of pace, but it will be hard for the final weeks of the semester. During the summer, however, I will be devoting most of my free time to this.

So far, I have the basic Master Detail shell with the detail view somewhat completed for now. My next task is to figure out the navigation between the view controllers. I will also need to create a Cocoapod in order to facilitate several frameworks I intend to use.

If at any point I fall behind in this, please yell at me on social media.

My Unhealthy Obsession with Note Taking Apps

And why I’m still not satisfied

For the past year or so, I have been trying to find the right note taking solution to fit my needs. As a freshman in college, taking notes should be one of the most important things that I do. Notes are an imperative part of being able to study and gain as much knowledge possible from a lecture or class. There are so many different note taking solutions that it can be pretty overwhelming trying to decide which one is the right fit for me. I’ve tried seemingly every solution out there. But none of them have made me happy.

As an engineering student, I take really different notes than many other students. My notes are super varied in type and complexity. Sometimes I use plain text. Sometimes I need to input math equations. Sometimes I need to input really complicated diagrams. This presents a problem for me because there are zero apps that are good at all three of these things. I need a note taking platform that adapts to my usage, not one that forces me to adapt to its workflow.

But Sam, why don't you just use pen and paper like a normal person?

Because I’m not a fucking caveman thats why.

Technology has become such an integral part of my life, and it should be advanced enough to replace a shredded tree and some ink. The benefits of using a pen and paper are that there are zero restrictions. You can write anything you want. You can draw anything you want. You can organize your notes any way you want. That’s really powerful. It allows me to input whatever I want however I want. The fact that no one has figured out how to implement this sort of freedom into a note taking app baffles me.

Technology also enables a lot of features that aren’t available with pen and paper. For one, you have the entire internet right next to your notes. I frequently want to search and add images to my notes, or add links to external information that might be useful for my notes. The other important thing that technology could better enable is note review. Many people forget that it’s just as important to review your notes as it is to take them. While physically taking the notes will help to learn and memorize information. Its important to review that information at a later date. Thats the whole point of taking notes. But I rarely look at my notes besides right before a test. Technology should be able to improve this.

There are tons of note taking apps out there, and many of them do a particular thing really great. But I have come to grow dissatisfied with basically all of them. Lets look at the options.

Evernote

Alternote, a better Evernote client for the Mac (Screenshot curtesy of Cooper Pellaton)

Alternote, a better Evernote client for the Mac (Screenshot curtesy of Cooper Pellaton)

Ahh yes, the old favorite. 

Everyone seems to use Evernote for one thing or another, and it does some things really well. As the name implies, Evernote is meant to be your “Digital Brain”, somewhere where you can dump all of your digital information for later retrieval. This means that it is everywhere. There is an app on basically every platform, and I have yet to encounter a syncing problem.It’s also stupid easy to get stuff into Evernote. Their web clipper is second to none, and most digital scanners have direct plugins into Evernote. Their iOS app and Mac apps are pretty usable as well. 

However, Evernote does its downsides. It seems that no one is happy or hopeful with the future direction of the company. They have strayed away from the core service in an attempt to add features that people aren’t asking for. Their core product has stayed the same over the past 6 years or so.

Evernote iOS app

Evernote iOS app

For me, the value of Evernote is how easy it is to get things into it. I can easily clip articles and other things from the web into Evernote. The app also does not support easily inputting drawings and math equations, which is basically a deal breaker for me. 

OneNote

OneNote is currently the note taking app that I use most often. They make it very easy to input drawing and other non-text elements. This is really the only note taking app that easily allows for hand written notes and the type of organization that I need. OneNote supports notebooks, and within each notebook there are tabs. This is really helpful for school because you can setup each notebook like you would a paper notebook, with each tab being for a new chapter or section.

OneNote Mac client

OneNote Mac client

Speaking of organization, OneNote’s tagging system is significantly less powerful that Evernote’s implementation. OneNote’s tags are meant to be used to separate different parts of a note. For example, you can tag different parts of a note as a phone number or address. This means that you can’t really search or sort by tags, which makes it harder to find what I want. OneNote also does not allow you to search within PDF’s and other documents like Evernote does.

Quiver

Quiver is a fairly new note taking app that is primarily designed for programers. While I might not be a programmer(but I do sometimes need to write down some code), there are certain aspects of the app that suite my workflow very well. 

Quiver is unique in that it allows you to sort your notes into cells. Each cell can be formatted for a different type of content, such as code with syntax highlighting, markdown, and a few other formats. I really like this style of organization as it allows me to rapidly change between the type of content I am writing and separate them in a logical way.

Quiver Mac app

Quiver Mac app

In many ways, Quiver is a less robust version of Evernote. I like how easily I can export these notes into a variety of formats that can be shared and sent with anyone. I can also control where I keep my notes, whether it be locally or in a cloud storage provider like Google Drive. 

There are a few big features missing that are really preventing me from using Quiver full time. There is no web clipper of any sort. Quiver is meant to be used as more of a static note taking app, and not a repository where you can dump all the content you want to save. There is also no way for me to draw right within the app, which makes it hard to draw diagrams and pictures. Hopefully in the future they will provide a drawing cell that would allow this. Finally, there are no mobile apps that let me use it while I’m on the go. There is an iOS version currently in very early beta, but its super beta and is read only for the moment, so I can’t really use it.

Quiver for iOS beta

Quiver for iOS beta

OmniOutliner

I’m including this because I just started to play around with this after a recommendation from a friend. Meh. Its a fantastic app, but it doesn’t really suit my style of note taking. I don’t want to be forced to conform my thinking process to a template, as many times classes won’t be that linear. And blah blah blah I can’t draw in it blah blah.

A plethora of web apps

There are tons of web app that are meant for note taking. Evernote and OneNote both have web apps (although I find them far worse than the native apps). Every week there seems to be a new startup that is meant to revolutionize note taking, but none of them have really done it for me. They are never as robust as I need them to be.

My dream note taking app

All of the apps listed above have features that I really like about them. Here’s how I’d like to see them brought together to form one perfect note taking app. 

  • Apps on every platform- I need to be able to access my notes from anywhere I am. That means a solid experience on desktop, tablet, and mobile platforms is required. While for me it could be iOS and OS X only, it really should have clients on Android and Windows as well. 
  • Open format and hosting- With a normal notebook, you can rip out a page and distribute it however you like. You can copy it, hand it to someone, mail it off to someone, ect. The format that notes are created in should not be proprietary. It should be very easy to export your notes out and do with them whatever you wish. Additionally, you should be able to keep your notes wherever you want, not just tied to one service. 
  • Cell based note formatting- Quiver has it basically right. All that would need to be added is a drawing cell format that would easily allow me to input diagrams and drawings. 
  • Robust tagging and notebook system- Take the tagging feature of Evernote and combine it with the tabbed notebooks in OneNote. Done. 
  • Fantastic web clipper- Evernote’s web clipper is already really great, but it could be improved even further. I’d love to be able to clip a web page into a specific note instead of just creating a new note for that webpage. Also embedding video into the note would be great as well. 
  • Some way to easily review and look at my notes after I take them-  Currently, none of the major note taking apps does this really well. Evernote kind of does this by embedding similar notes inside of your Google Searches, but I’d love to see a different sort of system for reviewing your notes. I’m not really sure how this would be implemented though. 

So those are my thoughts on the current state of digital note taking. Am I missing any great note taking apps?

In Defense of Apple and Our Right to Privacy

Earlier this week, Apple came out with an open letter discussing their opposition to a recent court filing to force them to unlock the iPhone 5C of Syed Farook, one of the shooters in the San Bernadino attack in California this past year. The FBI has ordered Apple to create a piece of software that would circumvent all of their security measures that they've put in place. Creating this piece of software would be extremely dangerous to the general public and would set a dangerous precedent for the future of our country

The FBI wants Apple to create a special version of iOS that would allow them to break the passcode via brute force. Currently, there are measures that do not allow the pin code to be entered via the lightning port, and after 10 failed attempts, all of the data is erased. These security measures are meant to prevent such an attack. But the FBI wants Apple to essentially disable all the security features they have implemented. The problem with that is if this piece of software ever got into the wrong hands, then basically everyone's iOS device would be at risk. 

The most dangerous part about this case is the possible precedent that it could set for future decisions. This case would mean that the government basically has free reign over what devices and information that it can access. Furthermore, it means that it can force companies to write software that will circumvent their own security measures. Combined with the previous concerns, this means that cyber security would be greatly diminished. The security measures that these companies have developed would be completely useless. Our personal data would be much less safe and much more readily available to the government. 

Such an important case should not be decided by a low level court. Technology has become such an important part of our lives and the government has lagged behind greatly in developing policies that regulate and set boundaries as to what information can and cannot be accessed.  There needs to be comprehensive legislation that sets forth how the government can obtain information in a digital way. The privacy and security of our data needs to be a priority just as much as national security. We host so much personal information online that we cannot afford to do anything less.