Many folks will say that smartphones are in their prime however, 2007, when Apple first introduced the iPhone that changed the smartphone world, seems like ages ago. Certainly, the battle to be the best in the smartphone industry is still going strong, but with new technologies like wearable electronics, the smartphone might be on its last legs as the “thing to have.”
It seems as if the innovation in the smartphone industry has nearly disappeared and with companies like Samsung and Apple fighting for basics like screen size and resolution, there really isn’t much left that excites consumers. Enter the wearable gear.
Samsung’s Galaxy Gear uses their Galaxy line of smartphones to interact with the user on an entirely different level. Samsung claims that it’s easier than ever to answer a hands-free phone call, take a quick snapshot, or even find your favorite local coffee shop – all without ever reaching for your phone.
Google has their own piece of wearable gear with Google Glass. Google says Glass helps integrate its technology into everyday life, switching the user’s focus back up to eye level, by removing the need to constantly look down at a hand-held phone.
Apple has plans to introduce their own wearable technology sometime this summer and I’m sure many others will follow suit.
Android is also working its way into household appliances like refrigerators, coffee makers, dishwashers, and the latest breakthrough of having “Android in your Audi,” showing us that there are many areas of our lives that have yet to be infiltrated with technology, but I can guarantee you all of the major players in the industry will be trying to change that soon enough.
I certainly consider myself an early adopter of new technology, mostly due to all of the testing I perform in my every day job here at Algonquin Studios. However, I can’t see myself being an early adopter to these new wearable technologies. I’ve never owned a watch, simply because I’m not comfortable wearing one, so I don’t see myself wearing a “Smart Watch” anytime soon.
And, while I know my wife would tell you I have too many tablets and smartphones lying around at any given time, I think I’ll also be hard-pressed to purchase an Android-powered refrigerator due to price point. This doesn’t, however, stop me from spending hours every day researching what’s next in the industry.
All of these new technologies might seem pretty silly now, but how many of us thought that having a small super computer in our back pockets would ever be a great idea? What do you think will be the next viral technology? I would love to hear everyone’s feedback!
In the constantly changing and ever-growing market of mobile technology, businesses face the challenge of finding methods to effectively communicate and connect with their target customers who are always on the move.
In this post, I’ll outline how you can integrate Twilio’s SMS service into a .NET web application in a few simple steps. We’ve recently integrated Twilio into a client’s web application as a means to communicate with employees after-hours, when employees have left for the day but a situation arises that needs further attention.
Before we get into the coding, let’s take a quick look at other methods that are used to send SMS messages from applications.
Email-to-SMS Gateway functionality has existed for a while and offers some of the same benefits, but with a few caveats.
What if you don’t know the customer’s carrier? You need this in order to utilize it (for example, if your customer’s number is 555-777-8888 and is a Verizon customer, you can text them by sending an email to email@example.com)
You cannot control who the message is sent from, for some carriers is the email address of the send, for some it’s the email address of the server
You cannot control what number delivers the message, so the customer may not be able to respond back to the message
Twilio’s SMS service overcomes these hurdles in simplistic fashion. Twilio’s SMS service allows web applications to communicate with mobile customers with a few simple lines of code.
Let’s get started. First, you’ll need to add the Twilio service into your project by following these steps (note that this is for .NET 4.0 application). The installation process can be found here: https://www.twilio.com/docs/csharp/install
Once you’ve installed the service, you’re ready to add your SMS code.
In this case, our function is setup to receive a Phone Number that we are going to send a message and the Body of that message.
Public Sub SendSMS(ByVal receivePhoneNumber As String, ByVal messageBody As String)
Dim accountSID As String = ""
Dim authToken As String = ""
Dim objTwilio As Twilio.TwilioRestClient = Nothing
Dim objMessage As Twilio.Message = Nothing
Dim sendPhoneNumber As String = ""
When you sign up for your Twilio account, you’ll receive the following credentials within their application. authToken = "111111"
accountSID = "222222"
sendPhoneNumber = "5553211212"
Instantiate your Twilio object objTwilio = New TwilioRestClient(accountSID, authToken)
And send! objMessage = twTwilio.SendMessage(sendPhoneNumber, receivePhoneNumber, messageBody, "")
So now we’ve sent our message. It’s sent to the end user via a telephone number, just as if you were sending a text message from your phone. What if the end user wants to respond back? They can, with no additional effort on their end. The message will be sent back to the Twilio number, and Twilio will redirect the response to your web application.
When we setup receiveTwilioResponse.aspx, we’ll need to capture the Page Request and parse out the response message.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim fromPhoneNumber As String = ""
Dim messageBody As String = ""
First, we’ll get the Phone Number of the end user who is responding back to us If Not Request.Form("From") Is Nothing Then
fromPhoneNumber = Request.Form(“From”)
Next, we’ll get the Message Body from the page request If Not Request.Form("Body") Is Nothing Then
messageBody = Request.Form("Body")
And that’s it! From here, we can handle this data how we see fit. Call LogDataToDatabase(fromPhoneNumber,messageBody)
This is simplified for example purposes. You will want to setup error handling and logging in conjunction with sending the message, and will need to clearly define the business logic of when and who to send messages to.
We’re not very good with passwords, although we think we are. According to a recent study by security company CSID, 89% of us think we practice safe password routines. Unfortunately, 1 in 5 of us have had an online account compromised and yet only about half of us change our passwords more frequently than once per year. The best passwords typically utilize a combination of letters, numbers, and punctuation, and the longer they are the better (at least 8 characters). Only 6% of users have passwords that meet these criteria. Even worse, 60% of us reuse the same password for multiple sites. This is a recipe for disaster.
Here’s a quick scenario: Tommy has a forum account on a fan-made music site. The music forum that he visits regularly doesn’t maintain their security patches regularly, and a random hacker manages to hack into the site and steal his password. A simple web search reveals that Tommy works for Company X. Company X uses the Outlook web app, and wouldn’t you know it, Tommy uses the same password everywhere. Through a little trial and error, the hacker discovers that firstname.lastname@example.org is his work email, and boom, the hacker now has access to Tommy’s work email.
So what is two-factor authentication, and how does it solve this problem? Well, two-factor authentication (2FA) is a multi-stage method of verifying that you are who you say you are. Typically it’s a combination of something you know (a password), and something you have access to (a phone). Most commonly, the second factor of authentication will be a code that you will be sent through a text message or an automated phone call, and it’s only valid for a short period of time. This code will be entered on a secondary screen before you can have access to your account.
Unfortunately a lot of people don’t know what 2FA is – roughly 75% of people surveyed didn’t have a clue. It has also garnered a reputation for being a hassle, which is simply not the case. Most two-factor implementations will allow you to “register” a device as a “trusted device” for a period of time (typically ranging from a day to a month). I know what you’re probably thinking – what if I lose my phone? Then what? Well, the answer to that is “it depends.” Every two-factor implementation has different ways to handle account recovery in the event of a lost device, but this shouldn’t deter you from using 2FA – the benefits outweigh the risks by far.
So where are some common places you should start using two-factor authentication to protect your online accounts? Here’s a list:
Google: Sends a 6 digit text message when you attempt to login from a new device. They also provide a Google Authenticator app for Android, iOS, and BlackBerry that can be used to obtain the second factor authentication codes.
Apple: Sends you a 4-digit code via text message or Find My iPhone notifications when you attempt to log in from a new machine.
Facebook: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
Twitter: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
PayPal: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
Microsoft Accounts: Sends you a 7-digit code via text message or email when you attempt to log in from a new machine.
Yahoo! Mail: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
LinkedIn: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
For a more complete list of companies and products that support two-factor authentication, please review Evan Hahn’s list. Ask your local security or IT professional if your organization could benefit from using 2FA for email or work accounts. There are also ways to implement two-factor authentication into your own custom applications and web sites.
Passwords are becoming less secure all the time, and hackers are getting better at cracking them (check out the strength of your password). Enabling two-factor authentication provides an extra layer of security at a negligible cost. Protect your financial accounts, identity, and your career by using it wherever you can.
Recently Opera moved away from Presto as its rendering engine and hitched its future to Blink, the rendering engine born from WebKit that powers Chrome. Now instead of Opera worrying about the rendering engine, it is focusing on the user interface, the place where it can set itself apart from the other browsers.
Essentially Opera is removing the browser chrome (implying to the user that a web page is just an app) and adding gesture support. Given that Opera was the browser that introduced us to mouse gestures well over a decade ago, and given that a touch screen is an inherently gesture-based UI, this seems like a natural fit.
Bits for Developers
Sadly, my office wifi was down and I couldn’t play with the browser immediately (my crusty iPad 2 is wifi only). So instead I took some time to read through the developer notes.
Overall Opera recommends general responsive design current best practices, though it promotes a tablet-first approach. Opera offers some CSS you can use to specifically target iPads Mini, 2, 3 and 4 (Retina and non-Retina), though it leans on vendor prefixes with only a brief note to also use other prefixes and unprefixed rules.
It’s also clear that Coast supports the new srcset option for responsive images. It even offers a code example: <img src="image.jpg" srcset="retina.jpg 2x">
Note: As Bruce was kind enough to inform me (because I missed it in the dev notes), responsive images will be supported only in iOS7 and up.
Update as of September 20, 2013
According to Opera, iOS7 did not come with a WebKit update. That means Coast cannot support responsive images via the srcset attribute without a polyfill. Nor can Safari, of course.
TileSpeed Dial Web App Image
Instead of “Speed Dial” icons/images, Coast now looks for a “web app image.” If you don’t have one, Coast will first look for a Windows 8 tile image, then an Apple touch icon, then a shortcut image, then just a favicon. You can, however, create your own 228 × 288 pixel image and stuff it into your site with the following HTML:
<link rel="icon" href="$URL" sizes="228x228">
User Agent String
Don’t use this to do any browser sniffing. Browser sniffing bad. This is instead handy for recognizing it in your logs:
Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Coast/22.214.171.124956 Mobile/10B329 Safari/7534.48.3.
Getting going is pretty easy, just start typing into the only field on the screen. As you type you can see a Google preview on the left, which you can tap at any time to go to Google, or a list of icons on the right which correspond to sites you might mean. The icons start out just displaying the first letter of the site, and then identify the site’s tile or shortcut image.
Once you are on a page, you can go back by swiping from the left, forward by swiping from the right, or reload the page by pulling down from the top — but not too far or you get the iOS menu instead.
Opera Coast skips tabs and windows altogether and, frankly, feels a lot more like Internet Explorer for Metro than other current tablet browsers. It’s pretty easy to see the open “tabs,” flip through them, get more details, and discard them. It’s also incredibly easy to forget you have so many tabs open. I regularly found myself littered with tabs because of all the links opening new windows.
While in that tab view, you can also see how “safe” the page is and can get to options to share it, email it, print it, and so on.
Adding and removing a bookmark, tile, whatever, is pretty easy. It took a few swipe-fails, but I got the hang of it well enough to show the whole process in one uninterrupted Vine:
There were a few things that threw me off. Perhaps because I am a power user, perhaps because I only played with it for one evening.
The swipe for back/forth is handy, but conflicts with behavior I have already learned. In Chrome for Android, swiping left or right has the infuriating feature of bringing me to the next or previous tab in the stack order. For those rare sites that implement a slide that is swipe-friendly, imprecise swipes will move me back and forth in the history instead.
Web App Images
Using the browser in portrait view, the additional screens of tiles (speed dial icons if you are already familiar with Opera) aren’t immediately apparent. It wasn’t until I turned to landscape that I saw them. The tiny dots under the Coast icon weren’t enough for me to intuit that. They also aren’t nearly large enough to tap to jump to a specific screenful of tiles.
The 9-box grid at the center bottom as well as the three rectangles at the bottom right are the only real browser chrome in play as you surf. They are also maddeningly small to tap. And I have dainty, lady-like fingers, so I suspect it may cause consternation for others.
If I am on a site and I want to change the address of the current page (maybe I fat-fingered and got to a 404, or I know a super-secret URL), I could not find a way to bring up the address bar and change it. It also made it impossible to know the current page address at any time. As someone who regularly looks at the URL for familiar addresses, indications of scam sites, quick commitment to memory, and so on, this alone takes it out of the running as an everyday browser for me.
Email a Page
I did not care for the email feature one bit. Not only does it embed a screen shot of the page (with a Coast watermark), the screen shot won’t display on other devices. Outlook blocked the image because the attachment ended in .com (not .png or .jpg). Had it not come from me, I wonder if Outlook would have blocked it as spam. My Android email client couldn’t display it because there was no file extension to give it a clue.
Tweet a Page
Tweeting a page left me similarly dissatisfied. By default it includes a Twitpic screen shot of the current page with an Opera Coast watermark. When composing the tweet, I tapped the paperclip icon to see if it would do anything, but nothing happened. I opted not to tweet again.
Overall, I like the browser. I like what it’s trying to do for consumers. As a power user, however, It’s not a fit for me though I’d be interested in bringing it in front of some other members of my family.
I also didn’t get to try out unsafe sites, printing pages, responsive images (need iOS7), or poorly-built sites. My opinion might change as I continue to play with the browser.
There are a lot of Android tablets out there, not just the four screen size offerings from Apple. So how long before we can see Coast on my Nexus 7, if ever?
I’m adding notes throughout the day as they come up.
Surprising no one, the following reviews from more mainstream sources completely fail to include any screen shots or videos that weren’t pilfered from Opera. I only say that to remind you that by reading this post you have gotten the most in-depth review currently on the web and you should be excited and send me a thank you note and maybe read all my other posts and high-five me on the street.
These articles are, however, worth visiting just to see the comments and how others are reacting to it.
While working at Algonquin Studios, I’ve been well educated on the many options of operating systems and configurations such as laptops, tablets, smartphones, etc. My last post was my (mostly) unbiased review of both Android and iOS. This time around, I’d like to look at the up-and-coming “hybrid” tablets/laptops that are becoming more and more popular.
A hybrid tablet is essentially a laptop that has the availability to run both Windows and Android, or some other variation thereof, and can be detached from the keyboard to become a standalone tablet. This flexibility makes these tablets both extremely portable and extremely resourceful.
I’ve picked three variations to talk about, because I feel they cover a majority of the different options currently available and, with the ever-expanding choices, it would be impossible to discuss all the available models in any detail.
Hewlett Packard recently came out with the SlateBook x2 laptop hybrid. This hybrid only runs Android, as its marketing tagline indicates: “100% tablet, 100% notebook, 100% Android.” What puts this in the ‘hybrid’ genre is the removable keyboard, really making it, simply, a large tablet. I think the Slatebook x2 is a unique hardware option but, with the lack of Windows, people will probably just use it for surfing the web and playing with a few Android apps. The portability is still there but, with its larger screen-size I have a feeling most users will just use it as a notebook/laptop.
Samsung just revealed the Ativ Book Q, a true hybrid tablet/laptop. It runs both Android 4.2.2 (the latest version of Android) and Windows 8. The really nice feature about this particular hybrid, though, is that you won’t have to boot into either Windows or Android. The Ativ Book Q will give you an option to simply switch from one OS to another with the touch of a button, making the transition virtually seamless. Another great feature is that Samsung gives the option to share and transfer files and folders between operating systems.With these features in mind, I expect the Q to be an extremely powerful little notebook for work and home use.
Another option is the Asus Transformer Book Trio. This is a unique hybrid in that it will ONLY run Android when not docked. This makes it a bit less dynamic than the Samsung, however, most people are already used to running Android as their mobile platform.
With all of the competition within the mobile smartphone field, I have a feeling the hybrid field will be picking up steam next. It should be fun to watch what the next couple of months brings to this new area of technology. Stay tuned!