Mastodon Josh – Page 6 – Josh Hrach

“The Apple World, the Android/Samsung World, and the Windows World”

Re/code posted an interview with Best Buy CEO Hubert Joly in which he talked about tablets, computers, and the current tech market. The interview itself is an interesting read, especially to see inside the mind of a CEO whose company has been affected by the global technological shift that we have seen across phones, tablets, and computers over the past few years.

One item that caught my eye was his response to a question about ‘stores within a store’. For a while now, Best Buy has had dedicated areas in their stores for Apple, Samsung, and Windows devices. When asked about those areas, he responded:

What we’ve done is, we’ve made Best Buy the place where customers can discover, understand, these different ecosystems. There’s these giant ecosystems: The Apple world, the Android/Samsung world, the Windows world. And so, for the customers, it’s a very unique opportunity to see it in one place, and in the space of half an hour, to be able to talk to our various specialists, and touch, feel, experience these products.

When it comes to Apple and Microsoft, each has created a very unique and identifiable ecosystem. Interestingly, in his comment, he included Samsung right along with his mention of Android. If you walk into a Best Buy store today, what Android device manufacturer is clearly visible? I’ve only ever seen Samsung with some attention.

I also thought it was an interesting response given how Samsung has come ahead, at least in mindshare, of other Android manufacturers with their devices, including their line of Galaxy devices. For some, when they hear Android, that’s the first thing to come to their minds.

When it comes to operating systems, it very clearly is Apple’s iOS versus Google’s Android. But with the iPhone competing against Samsung’s various Galaxy S phones, it’s easy to see why even Best Buy’s CEO would remark Android’s world as belonging to Samsung.

Spring Cleaning, Tech Style

It’s that time of year where most people go through their homes and clean things up. For me, I’ve felt the need to clean up my tech, too. I don’t mean in a physical way, though that is also important. No, I’m talking about going through all of those extra files and apps that have accumulated over the past year. My goal is to simplify what I’ve got and leave myself with a more clutter-free tech experience that will improve my productivity and help me waste/spend less time on my devices.

Clean Up 

The first thing someone may notice when looking at my iPhone or Mac: I’ve got a few too many apps. I had a bad tendency of grabbing free apps and giving them a test run but not deleting them when I was through. Now, it’s time to clean those up and keep the ones that I still use.

On my Mac, I’ve been using CleanMyMac to help remove unused applications and old data. It’s been a great application that I occasionally run to keep my system clean. It not only removes the .app file but also any data that might be found in ~/Library, too. If I don’t need a certain app anymore, why would I want to keep all of the associated data?

Another big thing I did on my Mac is clean up my desktop. I don’t like a lot of icons cluttering my desktop, so it was about time for me to remove what was there. I’ve now brought it down to one folder that I’ve called “To Sort”. In there, I put the occasion download or screenshot that I don’t have a place for yet (or can’t delete yet). This folder I go through regularly to keep clean. I could probably put it somewhere other than the desktop, but I’ll figure that out later. One folder on the desktop is better than a couple dozen icons.

Screen Shot 2014-05-13 at 5.12.09 PM

So what if I have a lot of apps? They’re organized!

For my iPhone, I’m trying to limit myself to productivity apps, utilities, and games that I will definitely be opening in the next month. While I do make a few exceptions, I’m trying to trim away the extras that I just don’t need. Anything that remains gets organized in my current system: 1 page of utilities and other non-game apps, sorted by category into folders; 1 or 2 pages of games, sorted by type in folders. If I’m still unsure where to put an app, it sits on my last page, a sort of miscellaneous page that I try to clear out regularly.

Screen Shot 2014-05-13 at 5.13.40 PM

I’ve got a few games, too

My newest change, though, is using a mostly clean first page. My goal is to limit this page to apps that I use every day. If there are certain actions that I do repeatedly, I’m putting those into LaunchCenterPro, which has its home on my dock. I don’t want to waste time trying to find something that I need; I’d much rather save time and simplify my workflow. ((This is still a work in progress, and my workflow is currently in flux while I create something that works better for me.))

Screen Shot 2014-05-13 at 5.13.14 PM

My much simpler home page

More Cleaning to Come

As I work on my workflow and cleaning up my apps, I’ve got even more to clean up this year. ((I’ll be talking more about my Mac and iOS workflows in a later post.))

First, I’ve got a handful of email accounts. Most are for sites that I used to manage but don’t anymore. I don’t know why I even have some of them still. But I need to take some time and reduce that number of active accounts to just the ones I need.

Second, I’ve got a few websites and services I still run, whether personal like this site or others related to my business, that I need to update and clean up. Those I’ll be systematically going through and updating.

Other things I need to clean up: iPhoto, my Documents and Downloads folders, and (low priority) my contact list.

Got any suggestions for cleaning up your computer or phone this summer? What will you be doing for your spring cleaning? Comment below or tweet me!

 

Why You Shouldn’t Buy the iPad 2 (and Why You Should Be Glad Apple Still Sells It)

On October 22nd, 2013, Apple announced updates to some of their products. Along with the release of OS X Mavericks, their latest version of their desktop operating system, they also announced new versions of iLife and iWork applications for iOS, OS X, and iCloud. New MacBook Pros were also announced.

The expected items, though, were a pair of new iPads. The iPad mini was given a much needed Retina display, while the full size iPad was upgraded and became the new iPad Air, a thinner and lighter 9.7″ iPad. Both of these updates were expected due to news leaks over the past few weeks and were welcomed with open arms.

The Shocker

However, there was a bit of a surprise when it came to what the new iPad line-up now consisted of. Both of those new iPads would be the premium product, while older versions remained on sale. That has been Apple’s MO with iPhones and iPads for years. Yet, while last year’s breakthrough iPad mini made sense to keep in the line-up, the iPad 2 seemed out of place. Why would Apple keep selling this 2.5 year old iPad, one that doesn’t even use the latest Lightning connector?

Screen Shot 2013-10-25 at 2.08.39 PM

Apple’s current iPad line-up

For one, it apparently still sells very well. For many people, the iPad 2 provides everything that a person might need or even want from a tablet. Technophiles may not show any interest in it, but anyone that isn’t tech-savvy who is looking for their first tablet would be more than happy with a new iPad 2. ((iPad 2 owners may feel differently when comparing their tablet performance on iOS 7 versus what they used to have on iOS 6, but new customers undoubtedly wouldn’t notice. ))

Second, by leaving the iPad 2 in the line-up, it gives consumers an option for an iPad that still supports the 30-pin connector and the massive amount of accessories that were created for that connector. But is this a big enough reason for people to buy an iPad 2 when, for $100 more, they can get the new iPad Air?

The iPad 2 was great when it was released. But lacking a Retina display and still using the old 30-pin connector (plus the A5 chip that doesn’t keep quite up to speed with its modern breathren) makes it a poor choice from the current iPad line-up. For identical specs, you can pay $100 less and get the iPad mini. The screen may be smaller, but you’re getting a thinner form factor AND a device with more functionality ((iOS 7 on the iPad mini supports Airdrop, for example, though on the iPad 2 it does not.)) than the older iPad 2.

Add to this the fact that, on Apple’s own website, you can find refurbished 4th generation iPads available for $379. Yes, you can get a newer iPad from Apple’s own website for less than the iPad 2. But if newer models can be purchased for less than $400, why would you want to buy an iPad 2?

Screen Shot 2013-10-25 at 2.22.40 PM

You can get a newer iPad straight from Apple for less than a new iPad 2!

This is why I say you shouldn’t buy an iPad 2. If you have the $399 to spend on it, why not get a newer model? Even the next newest model, the 3rd generation iPad, had a Retina display. While you would still be sporting the larger connector and an older body style compared to the iPad Air, you’d also have a capable tablet with a higher resolution screen.

Even if you don’t buy an iPad 2, however, there’s reason to be happy Apple still sells it. Why is that?

Product Longevity

Don’t you hate buying a product when, months later, it seems like your relatively new purchase is obsolete? Thankfully, while Apple continues to iterate and innovate with hardware, much of the capabilities of their devices come from within the silicon.

iPhone 3G customers may recall a time when their iPhones could not do the now common task of copy-and-paste. Yet, a software update (iOS 3) brought that feature, and others, to their iPhones. They may not have had the latest processor or camera specs, but those iPhone owners were able to get improved use from their devices.

Similarly, Apple has a fairly good track record of supporting older iOS devices. And each time Apple continues to sell an older generation model, (( For example, Apple continued to sell the iPhone 3GS and iPhone 4 when the iPhone 4S was launched.)) they also permit the latest iOS software to run on it, albeit with some features likely not supported. ((This isn’t just a matter of Apple wanting people to upgrade. Sometimes, the features introduced simply can’t be supported on older hardware without degraded performance. Apple’s goal is not to just pack in features but to give a great user experience. At times, this means some devices can’t get every new feature.)) When the iPhone 4S launched, iOS 5 was also released. The iPhone 3GS, still being sold at the time, was able to get that software update. Neither it nor the iPhone 4 had the ability to use Siri. Yet, each phone still found extended use by its owners. ((The iPhone 3GS went on to support even the latest version of iOS 6. Thus far, iOS 7 is supported on devices as far back as the iPad 2 and iPhone 4)) Likewise, when iOS 7 was announced this past June, Apple was still selling the iPhone 4. iOS 7 was installable on those older devices, even though Apple removed them from their line up at their iPhone event in September.

The iPad 2 may not be the wisest choice for buying a new iPad. Yet, the fact that Apple is still selling it means that, quite likely, unless new iPads are announced in the spring, the iPad 2 could possibly support iOS 8. Even if it doesn’t, there’s a good chance the third generation iPads and newer will support it. And as iPad and iPhone hardware matures, it’s likely we’ll see more and more generations of iOS devices supporting newer versions of IOS. They may not have the hardware to support all of the latest features ((Touch ID, 120 fps HD video recording, etc)), but they’ll remain up to date nonetheless.

But for any iOS device owners who have purchased an iPhone or iPad in the past 2 years, you’ll be okay using your device for at least another year with updates galore. If Apple will support a device from March 2011, yours should be supported, too.

My Adventures In App Development (Part 1: The Beginning)

I hate saying that I’m relatively new to app development, but I am. I had originally moved into the Apple ecosystem in 2009 with somewhat of a desire to develop applications. At the time, however, I was spending most of my development time on websites. App development seemed like a much more daunting task.

Over the years, I would occasionally open up Xcode with the intent of creating some kind of basic iPhone app. Each time, though, it seemed like such a different beast than what I was used to. (The MVC model wasn’t a stranger to me, but I didn’t have a lot of experience with it at the time.) I’d add in a few buttons and views, type up some code, but I couldn’t get myself to really dive into it.

One thing I’ve come to really love using since I first got my first iPhone in 2009 is Evernote. I use it to store notes about almost anything, from guitar tab to food recipes. For a while now, I’ve also stored different ideas that come into my head. As I put more and more ideas down in writing, I was able to get a better idea of what I wanted to do.

Two breakthroughs helped me to really push forward in app development, however. The first was making use of video tutorials online, especially on iTunes U, that helped me to really learn and understand Objective-C and iOS app development. Finding an iOS development course is a big plus, as it is just like being in a class where you are taught how to develop for the iPhone and iPad. It definitely beats just reading documentation and following along in a book.

Second was the latest iOS release, iOS 7. As soon as I saw the new look and feel of iOS unveiled at WWDC, as well as reading about the new APIs built into the release, I became excited for development again. In fact, I hadn’t felt this excited about it before.

It was with iOS 7 that my interest was aflame again. Since June, I’ve been pushing forward and working on several ideas. I’ve not been so excited about iPhone app development as I am now. I have a few projects on the burners and, as they get closer to release, I’ll start sharing some information about them, either here or via my business site (which will be updated soon). I’ll also document my travels as I learn more about Objective-C, Xcode, and developing for the iPhone, iPad, and Mac.

[C#] Using Nini .NET Configuration Library

When developing a desktop application, there will be times when you want to store settings for your program. A database is one option, but on Windows, you might just wish to have your settings stored in an INI file. One way to work with an INI file in C# is with the Nini Library. This makes it quite easy to read from and write to an INI file.

Let’s get started.

After installing the library, we’ll need to set our namespace.

using Nini.Config;

What will our INI file look like? Something like this:

;conf.ini
[Options]
Zipped = 0
Filename = test.txt

For my application, I decided to make a class devoted to the configuration file. So, let’s define that and a few other variables.

public class OurConfig
{
string NL = Environment.NewLine; // New line character
private string configFile = "conf.ini"; // Our INI file

IConfigSource config; // Instance of our config

}

Now that we have our variables declared, let’s create a couple of useful methods.

public void set_is_zip(int zipped)
{
config.Configs["Options"].Set("Zipped", zipped);
}

public void set_filename(string fname)
{
config.Configs["Options"].Set("Filename", fname);
}

These two methods will update the INI file with new settings, should we change them in our program. Of course, if we make these changes, they need to be saved. Thankfully, we can declare something in our constructor (which we will write a little later) that will auto-save our changes as we make them.

config.AutoSave = true;

Now, let’s create a pair of methods to return the data. This will be useful in our program when we need to use these settings.

public int return_is_zip()
{
return config.Configs["Options"].Get("Zipped");
}

public string return_filename()
{
return config.Configs["Options"].Get("Filename");
}

With these methods, we now have a basic class for handling a configuration file. All that is left is our constructor.

But before we get to the constructor, there is something else I created. What if our INI file doesn’t exist? I decided that I would make a function to create a default INI file, should the old one not exist anymore. This is also useful if we want to distribute our program without an INI file.

private void fill_new_ini()
{
// Put default values into the INI file
// Essentially, we're writing a blank file, so this is fairly simple
string toWrite = ";conf.ini" + NL
+ "[Options]" + NL
+ "Zipped = 0" + NL
+ "Filename = test.txt" + NL;

System.IO.File.WriteAllText(@"conf.ini", toWrite);
}

We can do a check when we initialize our class that will check to see whether or not this file exists. If not, we’ll create it so we can work with it.

That makes this our constructor:

public OurConfig()
{
// Initialize the INI file if it doesn't exist
try
{
configFile = new IniConfigSource("conf.ini");
}
catch (Exception ex)
{
// Write default values into it
fill_new_ini();
configFile = new IniConfigSource("conf.ini");
}

configFile.AutoSave = true; // Auto save config file as we make changes

}

Our whole class thus looks like this:

using Nini.Config;

public class OurConfig
{
string NL = Environment.NewLine; // New line character
private string configFile = "conf.ini"; // Our INI file

IConfigSource config; // Instance of our config

public OurConfig()
{
// Initialize the INI file if it doesn't exist
try
{
configFile = new IniConfigSource("conf.ini");
}
catch (Exception ex)
{
// Write default values into it
fill_new_ini();
configFile = new IniConfigSource("conf.ini");
}
configFile.AutoSave = true; // Auto save config file as we make changes
}

private void fill_new_ini()
{
// Put default values into the INI file
// Essentially, we're writing a blank file, so this is fairly simple
string toWrite = ";conf.ini" + NL
+ "[Options]" + NL
+ "Zipped = 0" + CL
+ "Filename = test.txt" + CL;
System.IO.File.WriteAllText(@"conf.ini", toWrite);

}

public void set_is_zip(int zipped)
{
config.Configs["Options"].Set("Zipped", zipped);
}

public void set_filename(string fname)
{
config.Configs["Options"].Set("Filename", fname);
}

public int return_is_zip()
{
return config.Configs["Options"].Get("Zipped");
}

public string return_filename()
{
return config.Configs["Options"].Get("Filename");
}

} // End OurConfig

That’s how simple it can be to work with your own INI files in C#.

Did you find this useful? Let me know in the comments!

4 Ways to Protect Your Online Accounts

It seems that more and more people are finding their Twitter accounts hacked unknowingly. If you use Twitter, you undoubtedly have seen it. Your friends post a reply or a direct message (DM) with a link to you but from out of the blue. ‘Why would they care about my IQ?‘ you may ask yourself.

Well, here are X tips to help you stay safe on Twitter (and other online sites)!

  1. Never give out your password – This is the most important rule. Even if someone claims to be a Twitter owner, do NOT give out your password!
  2. Don’t click links from strangers – Remember when your mom would tell you not take take candy from someone you didn’t know? Well, even though you’re older, live on your own, and have a job, the rule still applies. Watch what strangers send you. If you get a random @reply saying “Hey, I saw you in this pic. http://badlink.com/haha”, don’t click it!
  3. Watch for odd links from friends – Just because you have followed so-and-so for a long time doesn’t mean that all that they post is ok. Make sure that what they send is in line with what they usually send. Do they never DM you, but you suddenly receive a DM with a link? (As a side note, I’m not saying to click on links from your friends. If it’s a legitimate link, they’re sharing it with you for a reason!)
  4. Avoid Phishing Scams – What do I mean by phishing scam? Well, let’s say someone wanted you to think you were signing in to Twitter. It may even be identical to the real login page! But, the URL might say login.twitter.com.someothersite.net. That is how you can tell if it is fake. So, how can you stay safe from this?  If you need to login in a site, make sure that you’re truly at the site before you log in! For example, if you are signing in to Facebook, make sure you’re at Facebook.com before entering in your password.

In short, think before you do anything. It’s always better to play it safe. Common sense is the big key. Keep some of that and you’ll be safer already!

In Memoriam: Geocities (1995-2009)

Remember when the biggest question on the internet was “Frames or No Frames“?

Well, years ago, when one wanted to run a website, there were few places you could go. Geocities, though, was one of them. They were like the friendly neighbor that was willing to let you use their lawn for free parking in exchange for advertisements on your car to their own garage sale.

Well, as many different sites and blogs have mentioned, Geocities is shutting down today. If you haven’t done so, try to back up your data immediately. Otherwise, it will all be gone!

Ever since the notice that Geocities would be shut down back in April, I’ve been thinking about all of the wonderful times I had with them. Ok, I didn’t have that many memories. Actually, I had very few. But still, Geocities was important back in the day.

For anyone that may not be familiar with Geocities, here’s a little history for you. If you wanted to host a website, say, ten years ago, you either had the few free services, like Geocities, or you had to pay quite a bit for your hosting. Today, we see a plethora of web hosts, which undoubtedly had a hand in killing Geocities.

I know, for my part, I had just one site on Geocities: The New Jedi Order. It was an attempt at running a clan back in 2001. My friend and I were big fans of the game Dark Forces 2: Jedi Knight, and so we thought we’d make a cool site to try and organize games with others. Well, that cool site only had two colors: black and neon green. Trust me, it does hurt the eyes.

While I’ve done much better with web design since then, I still will miss seeing my site on Geocities.  It’s so hard to believe that they’ll be gone so soon…

Geocities is survived by Angelfire, Tripod, and many web hosting companies.

Did you have a site on Geocities? Have any Geocities memories? Did you actually understand what the first question of this post was about? Please comment!

How To Be Safe On Twitter

I’ve been asked by several people to put together this article.  As such, if you would like to contribute to it, suggest improvements or changes, or even write a similar article for me to post, leave a comment and let me know!

So, you got yourself a Twitter account.  It is the big craze, after all!  But you’re not sure about all of the other Twitter users.  Or perhaps you want to keep an increased level of privacy around your account.

Well, this article, hopefully, will tell you how you can keep yourself safe on Twitter!

Now, why do we even need to consider Twitter safety?  Well, perhaps you want to keep your activity away from the public eye.  Perhaps you wish to keep yourself safe from possible predators or other ominous folks.

What are some ways that you can protect your tweets and privacy?

  1. Protect Your Tweets – You don’t have to have your tweets open to the public. There is a built in feature in your Twitter settings that lets you make them private.  The only way people can read your tweets is to be approved to follow you. This not only protects what you say but also who can read your tweets. This is the biggest step!
  2. Watch What You Tweet – This rule applies to anything you do online. With the increase in Twitter usage, it seems easier and easier to just post anything. Yet, that is exactly what you do not want to do!  Even if you have protected your tweets, do you want them to know about where you exactly live, or where you will be at an exact time?  It is always better to play it safe!
  3. Use The Block Function – Do you have some shady characters that are following you that you really don’t want to see what you write?  If you’re wary of certain followers, you can safely block them.  This isn’t a sure-fire way of keeping people away from your tweets, but it can help you manage trouble-users.
  4. Remember Your Audience – Even if you have protected your tweets, there is the potential that someone will re-tweet you. With that in mind, any of your tweets could potentially be made public. Therefore, if you’re going to tweet something, make sure that it is something you wouldn’t mind someone in the public seeing. This goes in line with point #2, but it still is different.

In the end, common sense is what wins out with Twitter.  Make sure that you’re always tweeting with your full thinking faculties.  Otherwise, you may find yourself embarrassed, frustrated, or worse.

It’s quite possible that I missed some options for privacy protection.  If I have, please leave a comment! As I stated at the beginning, I’d be willing to post guest articles as well, should anyone want to write additional material.