Random Thoughts – Randocity!

Amazon Echo: What is it?

Posted in Amazon, business, cloud computing by commorancy on June 20, 2015

Amazon EchoWhat is Amazon Echo?

It’s an approximately 10″ flat black cylinder with reasonable quality speakers, an led ring around the top, a voice recognition system and a remote. While that may seem a little simple, these are the fundamental pieces that matter.

If you’ve ever used a Roku, a smart TV, Amazon Fire TV or an Apple TV, then you pretty much know what Amazon Echo is (minus the speakers). Except, Amazon Echo is intended to be used with audio programs (i.e., news radio, podcasts, music, prime music, weather radio, audiobooks, speech synthesis for reading articles, etc). Anything you can imagine with audio, the Amazon Echo would be the perfect companion. What Apple TV is to movies, Amazon Echo is to audio programs.

In addition to the Alexa audio assistant (like Siri), with a web, tablet or phone app, you can completely control your Echo with the Echo companion app. There is so much that is required by the app, you really can’t get along without it. In fact, you need the app to hook up the Echo to the WiFi which also asks a series of questions about how it will be used. So, if you don’t have a phone, tablet or computer browser, good luck setting up your Echo.

And no, you don’t need to own an Amazon tablet. You can use an iPhone, iPad or any other Android tablet or phone. In fact, you can even use your computer’s browser. Because the Amazon Echo is hooked to the Amazon eco-system, you will also need an Amazon login and password. But, you likely already have this since you purchased the Echo with it. But, if you’re planning on giving it as a gift, the person you are giving it to will also be required to have all of the above. So, Amazon Echo is probably not the best gift idea for those who are not computer savvy or those who choose not to be connected. Remember that this is first and foremost a cloud player device. The faster the speed of the internet connection, the better Echo will work.

Is the Amazon Echo useful?

That’s a good question. If you’re someone who listens to radio programs or other audio programs like podcasts, then perhaps. Though, keep in mind there are some severe limitations in what you can do with the Amazon Echo. For example, the partners Amazon has chosen for its ‘audio channels’ are limited to Pandora, iHeartRadio, TuneIn and Audible. So, like Apple TV has limited video channels, Amazon Echo also has severely limited audio channels. Because of the audio partner limits, you really get a very small selection of content. For example, if Amazon had partnered with Sirius radio, there would be a whole lot more programming choices. Or, for that matter, partnering with Muzak, Soundcloud, Rhapsody, YouTube audio, Last.fm or other audio partners, I would say there would be much more choices in audio. Until then, Echo is nice but somewhat a novelty.

Alexa vs Siri

Alexa clearly has a better voice than Siri. But, other than the voice choice, the functionality is about the same. Like Siri, Alexa has easter eggs, knows what she knows, but what she knows is very very limited. So, don’t expect to be able to ask Alexa complex questions. To activate Alexa, you simply say the key word ‘Alexa’, suffixed quickly by what you want her to do. For example, ‘Alexa, set volume to 5’. Alexa is always listening for the keyword. Once you say the keyword, Alexa will begin listening for your command.

Wording matters with your sentences or Alexa gets quickly confused as to what you’re asking. For example, there’s a difference between asking ‘Alexa, play Frank Sinatra Songs for Swingin Lovers’ or ‘Alexa, play Songs for Swingin Lovers by Frank Sinatra’ or ‘Alexa, play the album Songs for Swingin Lovers by Frank Sinatra’. The shorter you tend to phrase your request, the more likely Alexa is to do the wrong thing or become confused and do nothing. Echo sometimes hears a phantom keyword and activates.

There are many times when you ask Alexa to do something that instead of responding with ‘Okay’ or some affirmative voice response, the led ring at the top flashes in a ‘special way’. So, we’re left to try and decode the R2D2 led responses from the Echo. Instead, I personally believe Alexa should affirmatively or negatively respond to every voice command. Unfortunately, she doesn’t.

Oh, and no, there is not yet a way to change the voice to a male or some other alternative voice. Though, you can change the wake-up word. So, it doesn’t have to be ‘Alexa’.

Alarms, ToDo Lists and Shopping

It is to be expected that you can shop for music through the Echo. So, if you ask Echo to play something that leads to samples, you can buy the song that’s playing. This will then be put into your library for future playback.

You can set up to 1 alarm and up to 1 timer. This means you can set an alarm for wakeup, but you can’t have two alarms. So, if you have a spouse or partner, you can’t have your own alarm and they have one set for a separate time. That won’t work, yet. If you want to time down two different things (important while cooking), you can’t do this either. It supports only one timer.

When the alarm or timer goes off, the audio noise it makes is limited to an internal sound only. Even though you have access to Prime music and radio, you cannot set the timer to use one of those audio sources. So… limited. There are also other limits.

There is a ToDo and Shopping list that you can ask Alexa to manage. You can say, ‘Alexa, add bananas to my shopping list’. When you open the Echo app, you will have your shopping list with you in the store. You can also remote control the Echo app as long as you have Internet on your phone. So, if you have a cat and you like to leave music playing, you can set up playlists, turn the volume up or down, change the music or shut it off.

Music

This is probably where the Echo shines its brightest. With its two speaker system, the audio is bright and vibrant. Not quite as nice as the Bose Soundlink Mini, but the sound is acceptably full and rich for the cylinder design. Unfortunately, it also has no stereo and it needs it. Amazon needs to offer a companion cylinder connected by bluetooth to offer full rich stereo sound. In fact, it could offer several BT connected cylinders to offer 5.1 or 7.1.

Beyond the sound quality issues, having access to Prime music is a necessity here. If you aren’t a Prime member, you really can’t take advantage of what Echo offers. If you do have Prime, then you get access to not only whatever you’ve purchased or uploaded to Amazon’s cloud player, you also get access to the full Prime music library. Still, Amazon’s Prime library is limited. It seems to have a lot of classic rock choices, but not all of it. So, while it has Fleetwood Mac and the Eagles, it doesn’t have Supertramp, for example.

Though, Autorip is your friend with Echo. If you buy a CD with Autorip, it automatically becomes available on the Echo as soon as you’ve paid. However, if you purchase a CD at Target and rip it, you’re limited to 250 uploaded songs unless you pay Amazon an additional $25 a year for 250,000 song uploads.

Audiobooks

If you are a big Audible.com consumer, then you have a distinct advantage with the Echo. You can listen to all of your audio books right on the Echo. If your library is vast, you’ll immediately have a lot of content available to you. In hindsight, I should have been buying audio books when offered with my Kindle purchases, but I never really had any way to play them. With Echo, that’s changed. I will definitely consider audio books in the future.

Kindle Support?

In short, no. There is no support for Alexa to read back Kindle book content using Alexa. Alexa would be the perfect companion to the Kindles that do not offer audio voice playback. Considering this is an Amazon product and would be the perfect companion for the Kindle, the integration between Kindle and Echo is non-existent.

Audiophile Quality?

Definitely not. You’re playing streaming music here, in mono no less. So, while the Echo is great for podcasts, news and incidental background music, don’t give up your audiophile gear. Much of the music streamed from Amazon prime has the telltale mpeg haziness. Echo never skips or stutters while playing Prime or library music, so its streaming IO seems quite robust, but it just doesn’t sound high quality. This is definitely not to be considered an HD quality device as it clearly isn’t. So, don’t go into an Amazon Echo thinking you’ll be getting a high quality music experience. The music does sound decent, but it’s not anywhere near perfect.

Though, for news, podcasts and other spoken word programs, the Amazon Echo is perfect for this use.

Speech Synthesis and Browsing

The voice for Alexa sounds great most of the time. However, when reading back a synopsis Wikipedia article, she doesn’t always do a great job. While music is Echo’s strongest area, the article reading is easily one of Echo’s weakest. Instead, of becoming an audio web browser (which is what Echo should become), Alexa only offers page snippets of articles and then encourages you to crack open a browser or tablet and finish reading there. If Echo is going to do this, why bother using Alexa at all? If I can get better results by reading it myself, then Alexa is pointless for this purpose.

Instead, Alexa should provide full 100% article reading. Read me news, wiki articles or, indeed, any other page on the web. If I ask Alexa to browse to Yahoo News, Alexa needs to be able to read article headlines and let me choose which article to read back. Literally, Echo should become an audio based web browser. Echo should set the standard for audio web browsing so much so that Yahoo and Google optimize their pages for audio browsers much like they are now doing for mobile devices.

Kitchen Use?

Echo would be the perfect companion in the kitchen. Tablets and other touch devices are no where near the perfect device in the kitchen. They get dirty and must be touched by dirty or wet hands.  Echo, on the other hand, is the perfect hands-free kitchen companion. ‘Alexa, how do I make Beef Stroganoff’. Seems like a simple recipe request, but no. Alexa has no knowledge of cooking, recipes or anything else to do with kitchen chores. This seems like a no-brainer, but Amazon made no effort here.

Problems and Crashing

After having unboxed Amazon Echo, it had already crashed within 10 minutes of using it. Not the app, but the actual Echo. The app lost connectivity to the Echo until it had rebooted. Though, I have also had the app crash. So, this first incarnation of the Echo is a little beta still. I’m guessing that’s why they cut the 50% off deal with those who were invited to pick them up for testing. Though, when the Echo works, it does work well.

Improvements

The Amazon Echo could benefit from a number of improvements including:

  • Battery backup
  • Full audio web browsing
  • Games (i.e., chess, checkers, etc)
  • Better interactive integration between Echo and its companion app
  • Satellite interfaces (to use Echo in every room)
  • Stereo audio / Multichannel audio (using multiple cylinders)
  • Audio playback to stereo BT devices (i.e., headphones and speakers)
  • Speakerphone
  • Remote control of Amazon devices
  • Check status of Amazon orders
  • Recipes and general kitchen helper
  • Alexa reading Kindle books
  • More audio channels such as:
    • Sirius Radio
    • Police Scanners
    • Custom podcast URLs
    • SoundCloud and similar sites
    • YouTube Audio
    • Last.fm
    • Spotify
    • MySpace Music
    • Amie Street
    • A much bigger selection of Internet radio stations
    • Archives of pre-recorded news broadcasts

Limitations

This first incarnation of Amazon Echo is quite limited. Echo has about 1/10th of the feature set you would expect to offer a complete experience. For example, it should become an audio web browser. Audio is the next evolution in browsers. Sitting at a computer watching a screen is time consuming. But, using an audio web browser, you could browse the web and work on other things. It’s easy to listen and still focus on other tasks. We do it all the time.

In fact, Alexa needs to be imported into every Amazon device including the Fire phone, Fire tablet line and every other interactive device it makes. While Alexa needs to be on every Amazon device, the use case of Echo and all of the audio channels should still be limited to the Echo.

So, while Alexa exists and works as well as Siri, Alexa is simply the input and output device on the Echo out of necessity. The functionality of the Echo needs to firmly focus on all aspects of audio communication including podcasts, dictation, news programs, web browsing, audio books, cooking, music and more. Alexa shouldn’t be overlooked as the home helper, but not strictly on the Echo. I know that Amazon is planning on expanding the Echo to supporting home automation through such phrases as ‘Alexa, turn on the light’. But, that requires a home automation system that interfaces with the Echo. There are probably other uses just waiting to be explored.

In fact, if Amazon were to put Alexa on every device, you could have a unified Alexa system throughout your home. So, each device could learn the types of things you do regularly and share that among all of the Alexa systems. So, if you frequently ask for a specific type of music, Alexa could offer recommendations for new playlists.

Overall, it’s currently an okay device. Out of 10 stars, I’d give it 4 stars. Amazon compromised just a little too much in all aspects of this device to make it truly outstanding. In fact, Alexa should have had white LED lights on the unit so that it could illuminate the room. It also needs a battery backup so you can still use some of Alexa’s basic functions, like the alarm clock, if the power goes out. The next incarnation of the Echo will likely make up for its current shortcomings.

Advertisements
Tagged with: , , , ,

Adobe Creative Cloud: Adobe’s Stupid Mistake

Posted in botch, business, california, cloud computing by commorancy on April 27, 2014

CreativeNoCloudIn the process of upgrading to Adobe’s Creative Suite 6 (CS6) software package, I spoke with an Adobe representative who then tried to up-sell me into their monthly software plan labeled Adobe Creative Cloud. The representative also told me there would not be a CS7 or CS8 version released ever with the introduction of Adobe Creative Cloud. Let’s explore why offering only Adobe’s Cloud will ultimately become a huge blunder.

Adobe’s software has always been purchased!

The business model for Adobe software has always been to purchase the software and upgrade later by paying an upgrade fee. It’s a model that has fully worked for all of their versions up to CS6. This has been the software purchase model for years and years (not even just from Adobe). Yes, while it is how we have always purchased Adobe software packages, it is also how we have purchased software from every other software developer. In fact, for sellers other than Adobe, it’s still how we buy software. Basically, nearly every other software package out there is a one-time payment to own the version you are buying. So, what’s changed?

Adobe’s Clouded Mind

Adobe has now made the decision that they are no longer ‘selling’ software. They are now ‘renting’ it to you in exchange for a monthly or yearly fee. Clearly, this is an entirely different business model from their original purchasing model. This is not the software purchasing model we have come to know, understand and agree to. But, someone who thinks they are brilliant at Adobe has decided the old model is no longer valid and they are now wanting us to buy this purchase model. Because they have done away with purchased software, they are now forcing YOU to ‘rent’ their software through the cloud. No longer can you just ‘buy’ it.

The pricing model is currently $600 yearly or $50 monthly for their service. But, you have no guarantees that they won’t double or triple these prices in two or three years. Once your plan ends, they can charge you whatever they want and your software is invalidated if you don’t agree. You don’t get to keep your software that you’ve purchased during the plan. The money you’ve spent is entirely lost. However, when you previously bought the software, you own that software to use forever no matter what pricing they use later. When purchased outright, the software is on your system and can be used forever without further involvement of Adobe.  This permanency in ownership is just as it should be with software.

The Mistake

Whomever at Adobe that made this decision must have done so without consulting us, the software buyers, because why would anyone want to rent software forever? Software that you cannot keep or use after you shut the plan off. It’s an entirely different business model and an entirely different way to manage software. I don’t want to use cloud based Adobe software. I want the software installed on my system to use for as long as I want. I want to be able to move around and not be dependent on a 24/7 always-on Internet connection. If I’m offline, I still want to be able to edit and create work.

If you’re already using this service, you know that the software requires checking in every 30 days for monthly subscriptions and every 99 days for yearly subscriptions. This is not what I want. I want software that works infinitely offline. I don’t want anything ‘checking home to mothership’ ever. If I need to get a new version, just notify me of it and, if there’s a fee I’ll pay and download it. This is the tried-and-true model. Why abandon it?

Throwing out the baby with the bathwater?

Seriously, why would any top level executive dump a fully functional business model that has sustained an entire company for years in exchange for an extremely risky new business model that may not be adopted by buyers? Why wouldn’t you want to carry both models? Clearly, there are those of us out here who still want to ‘buy’ software, not ‘rent’.

For example, renting a car for a day is fine, but the market still is a big enough place where you can also ‘buy’ cars. Why would you, as Adobe, decide to close down the entire ‘buy’ market in lieu of a ‘rent’ only market? Think about it, the cloud rental software is fully downloadable but hobbled to check in every 30 days. It’s like paying to use a never ending trial version. To carry both business models, it’s just semantics to set up the software to check in every 30 days, 99 days (as it does right now) or NEVER (to buy it outright.. which doesn’t exist). If I want to pay full price up front for a package, that’s my choice and I should have that choice available to me. If I choose not to rent, then that’s your loss when I choose not to rent. And believe, I won’t rent ANY software from any business.

But, Adobe has decided to throw the baby out with the bathwater. The model that they formerly and successfully used to sell their software they have entirely abandoned for this new ‘rental’ world. A world that is likely to not only backfire badly on Adobe, but likely to force them to completely rethink this idea. Some ideas need to die and rental software like this is one of those ideas that needs to go away as fast as possible. That someone thought it would be a great idea needs to be slapped sane.

Renting is not Acceptable

Rentable software is both a creepy ‘big brother’ privacy invading tactic (no thanks Adobe) and a crappy business model that, as I have already said, needs to die a horrific and fiery death. I understand why it exists (companies want residual income and to collect all sorts of creepy privacy metrics), but it’s not a model that I will ever endorse or use. Therefore, I do not accept this business model and thusly CS6 will be my LAST purchase from Adobe until this company comes to its senses.

If you agree with me on this, please leave a comment below. Adobe, if you’re reading, you need to wake up and realize that there are some of us out here who want to actually buy software, not rent it. We want to be able to use purchased software without having to check home to mothership ever (except for updates when I request it to check).

It always amazes me just how stupid some company executives can be. So long Adobe, it was nice knowing you. Don’t let the door hit you on the way out.

Tagged with: , , ,

Flickr’s new interface review: Is it time to leave Flickr?

Posted in botch, cloud computing, computers, social media by commorancy on May 21, 2013

New Flickr InterfaceYahoo’s Flickr has just introduced their new ’tile’ interface (not unlike Windows Metro tiles) as the new user interface experience. Unfortunately, it appears that Yahoo introduced this site without any kind of preview, beta test or user feedback. Let’s explore.

Tile User Experience

The tiles interface at first may appear enticing. But, you quickly realize just how busy, cluttered, cumbersome and ugly this new interface is when you actually try to navigate and use it. The interface is very distracting and, again, overly busy. Note, it’s not just the tiles that are the problem. When you click an image from the tile sheet, it takes you to this huge black background with the image on top. Then you have to scroll and scroll to get to the comments.  No, not exactly how I want my images showcased. Anyway, let me start by saying that I’m not a fan of these odd shaped square tile interfaces (that look like a bad copycat of a Mondrian painting). The interface has been common on the Xbox 360 for quite some time and is now standard for Windows Metro interface. While I’ll tolerate it on the Xbox as a UI, it’s not an enticing user experience. It’s frustrating and, more than that, it’s ugly. So, why exactly Yahoo decided on this user interface as their core experience, I am completely at a loss…. unless this is some bid to bring back the Microsoft deal they tossed out several years back. I digress.

Visitor experience

While I’m okay with the tiles being the primary visitor experience, I don’t want this interface as my primary account owner experience. Instead, there should be two separate and distinct interfaces. An experience for visitors and an experience for the account owner.  The tile experience is fine for visitors, but keep in mind that this is a photo and art sharing site.  So, I should be able to display my images in the way I want my users to see them.  If I want them framed in black, let me do that. If I want them framed in white, let me do that. Don’t force me into a one-size-fits-all mold with no customization. That’s where we are right now.

Account owner experience

As a Flickr account owner, I want an experience that helps me manage my images, my sets, my collections and most of all, the comments and statistics about my images. The tile experience gives me none of this. It may seem ‘pretty’ (ahem, pretty ugly), but it’s not at all conducive to managing the images. Yes, I can hear the argument that there is the ‘organizr’ that you can use. Yes, but that’s of limited functionality. I preferred the view where I can see view numbers at a glance, if someone’s favorited a photo, if there are any comments, etc.  I don’t want to have to dig down into each photo to go find this information, I want this part at a glance.  Hence, the need for an account owner interface experience that’s separate from what visitors see.

Customization

This is a photo sharing site. These are my photos. Let me design my user interface experience to match the way I want my photos to be viewed. It is a gallery after all. If I were to show my work at a gallery, I would be able to choose the frames, the wall placement, the lighting and all other aspects about how my work is shown. Why not Flickr? This is what Flickr needs to provide. Don’t force us into a one-size-fits-all mold of something that is not only hideous to view, it’s slow to load and impossible to easily navigate.  No, give me a site where I can frame my work on the site. Give me a site where I can design a virtual lighting concept.  Give me a site where I can add virtual frames. Let me customize each and every image’s experience that best shows off my work.

Don’t corner me into a single user experience where I have no control over look and feel. If I don’t like the tile experience, let me choose from other options. This is what Flickr should have been designing.

No Beta Test?

Any site that rolls out a change as substantial as what Flickr has just pushed usually offers a preview window.  A period of time where users can preview the new interface and give feedback. This does two things:

  1. Gives users a way to see what’s coming.
  2. Gives the site owner a way to tweak the experience based on feedback before rolling it out.

Flickr didn’t do this. It is huge mistake to think that users will just silently accept any interface some random designer throws out there. The site is as much the users as it is Yahoo’s. It’s a community effort. Yahoo provides us with the tools to present our photos, we provide the photos to enhance their site. Yahoo doesn’t get this concept. Instead, they have become jaded to this and feel that they can do whatever they want and users will ‘have’ to accept it. This is a grave mistake for any web sharing site, least of all Flickr. Flickr, stop, look and listen. Now is the time.

Photo Sharing Sites

In among Flickr, there are many many photo sharing sites on the Internet. Flickr is not the only one. As content providers, we can simply take our photos and move them elsewhere. Yahoo doesn’t get this concept. They think they have some kind of captive audience. Unfortunately, this thinking is why Yahoo’s stock is now at $28 a share and not $280 a share. We can move our photos to a place where there’s a better experience (i.e., Picasa, DeviantArt, Photobucket, 500px, etc). Yahoo needs to wake up and realize they are not the only photo sharing site on the planet.

Old Site Back?

No, I’m not advocating to move back to the old site. I do want a new user experience with Flickr. Just not this one. I want an experience that works for my needs. I want an interface that let’s me showcase my images in the way I want. I want a virtual gallery that lets me customize how my images are viewed and not by using those hideous and slow tiles.  Why not take a page from the WordPress handbook and support gallery themes. Let me choose a theme (or design my own) that lets me choose how to best represent my imagery. This is the user experience that I want. This is the user experience I want my visitors to have. These are my images, let me show them in their best light.

Suggestions for @Yahoo/@Flickr

Reimagine. Rethink. Redesign. I’m glad to see that Yahoo is trying new things. But, the designers need to be willing to admit when a new idea is a failure and redesign it until it does work. Don’t stop coming up with new ideas. Don’t think that this is the way it is and there is nothing more. If Yahoo stops at this point with the interface as it is now, the site is dead and very likely with it Yahoo. Yahoo is very nearly on its last legs anyway. Making such a huge blunder with such a well respected (albeit antiquated site) could well be the last thing Yahoo ever does.

Marissa, have your engineers take this back to the drawing board and give us a site that we can actually use and that we actually want to use.

Tagged with: , , , , , , , ,

iPhone Risk: Your Employer and Personal Devices

Posted in best practices, cloud computing, computers, data security, Employment by commorancy on May 5, 2013

So, you go to work every day with your iPhone, Android phone or even an iPod. You bring it with you because you like having the convenience of people being able to reach you or because you listen to music. Let’s get started so you can understand your risks.

Employment Agreements

We all know these agreements. We typically sign one whenever we start a new job. Employers want to make sure that each employee remains responsible all during employment and some even require that employee to remain responsible even after leaving the company for a specified (or sometimes unspecified) period of time.  That is, these agreements make you, as an employee, personally responsible for not sharing things that shouldn’t be shared. Did you realize that many of these agreements extend to anything on your person and can include your iPhone, iPod, Android Phone, Blackberry or any other personal electronic device that you carry onto the property? Thus, the Employment Agreement may allow your employer to seize these devices to determine if they contain any data they shouldn’t contain.

You should always take the time to read these agreements carefully and thoroughly. If you don’t or can’t decipher the legalese, you should take it to an attorney and pay the fee for them to review it before signing it.  You might be signing away too many of your own personal rights including anything you may be carrying on your person.

Your Personal Phone versus Your Employer

We carry our personal devices to our offices each and every day without really thinking about the consequences. The danger, though, is that many employers now allow you to load up personal email on your own personal iDevices. Doing this can especially leave your device at risk of legal seizure or forfeiture under certain conditions.  So, always read Employment Agreements carefully. Better, if your employer requires you to be available remotely, they should supply you with all of the devices you need to support that remote access. If that support means you need to be available by phone or text messaging, then they should supply you with a device that supports these requirements.

Cheap Employers and Expensive Devices

As anyone who has bought an iPhone or an Android phone can attest, these devices are not cheap. Because many people are buying these for their own personal use, employers have become jaded by this and leech into this freebie and allow employees to use their own devices for corporate communication purposes. This is called a subsidy. You are paying your cell phone bill and giving part of that usage to your employer, unless your employer is reimbursing you part or all of your plan rate.  If you are paying your own bill without reimbursement, but using the device to connect to your company’s network or to corporate email, your device is likely at high risk should there be a legal need to investigate the company for any wrong doing. This could leave your device at risk of being pulled from your grasp, potentially forever.

If you let the company reimburse part or all of your phone bill, especially on a post-paid plan, the company could seize your phone on termination as company property.  The reason, post-paid plans pay for the cost of the phone as part of your bill. If the company reimburses more than 50% of the phone cost as part of your bill, they could legally own the phone at the end of your employment. If the company doesn’t reimburse your plan, your employer could still seize your device if you put corporate communication on your phone because it then contains company property.

What should I do?

If the company requires that you work remotely or have access to company communication after hours, they need to provide you with a device that supports this access. If they are unwilling to provide you with a device, you should decline to use your personal device for that purpose. At least, you should decline unless the employment agreement specifically states that they can’t seize your personal electronics. Although, most employers likely won’t put a provision in that explicitly forbids them from taking your device. Once you bring your device on the property, your employer can claim that your device contains company property and seize it anyway. Note that even leaving it in your car could be enough if the company WiFi reaches your car in its parking space.

Buy a dumb phone and use that at work. By this I mean, buy a phone that doesn’t support WiFi, doesn’t support a data plan, doesn’t support email, doesn’t support bluetooth and that doesn’t support any storage that can be removed. If your phone is a dumb phone, it cannot be claimed that it could contain any company file data.  If it doesn’t support WiFi, it can’t be listening in on company secrets.  This dumb phone basically requires your company to buy you a smart phone if they need you to have remote access to email and always on Internet. It also prevents them from leeching off your personal iPhone plan.

That doesn’t mean you can’t have an iPhone, but you should leave it at home during work days. Bring your dumb phone to work. People can still call and text you, but the phone cannot be used as a storage vehicle for company secrets (unless you start entering corporate contacts into the phone book). You should avoid entering any company contact information in your personal phone’s address book. Even this information could be construed as confidential data and could be enough to have even your dumb phone seized.

If they do decide to seize your dumb phone, you’ve only lost a small amount of money in the phone and it’s simple to replace the SIM card in most devices. So, you can probably pick up a replacement phone and get it working the same day for under $100 (many times under $30).

Request to Strike Language from the Employment Agreement

Reading through your Employment Agreement can make or break the deal of whether or not you decide to hire on. Some Employment Agreements are way overreaching in their goals. Depending on how the management reacts to your request to strike language from the Employment Agreement may tell you the kind of company you are considering. In some cases, I’ve personally had language struck from the agreement and replaced with an addendum to which we both agreed and signed. In another case, I walked away from the position because both the hiring and HR managers refused to alter the Employment Agreement containing overreaching language. Depending on how badly they want to fill the position, you may or may not have bargaining power here. However, if it’s important to you, you should always ask. If they decline to amend the agreement, then you have to decide whether or not the position is important enough to justify signing the Agreement with that language still in place.

But, I like my iPhone/iPad/iPod too much

Then, you take your chances with your employer. Only you can judge your employer for their intent (and by reading your employment agreement).  When it comes down to brass tacks, your employer will do what’s right for the company, not for you. The bigger the company gets, the more likely they are to take your phone and not care about you or the situation. If you work in a 1000+ employee company, your phone seizure risk greatly increases.  This is especially true if you work in any position where you have may access to extremely sensitive company data.

If you really like your device, then you should protect it by leaving it someplace away from the office (and not in your car parked on company property). This will ensure they cannot seize it from you when you’re on company property. However, it won’t stop them from visiting your home and confiscating it from you there.

On the other hand, unlike the dumb phone example above, if they size your iPhone, you’re looking at a $200-500 expense to replace the phone plus the SIM card and possibly other expenses. If you have synced your iPhone with your computer at home and data resides there, that could leave your home computer at risk of seizure, especially if the Federal Government is involved. Also, because iCloud now stores backups of your iDevices, they could petition the court to seize your Apple ID from Apple to gain access to your iDevice backups.

For company issued iPhones, create a brand new Apple ID using your company email address. Have your company issued phone create its backups in your company created Apple ID. If they seize this Apple ID, there is no loss to you. You should always, whenever possible create separate IDs for company issued devices and for your personal devices. Never overlap this personal and company login IDs matter how tempting it may be. This includes doing such things as linking in your personal Facebook, Google, LinkedIn, Yahoo or any other personal site accounts to your corporate issued iPhone or Apps. If you take any personal photographs using your company phone, you should make sure to get them off of the phone quickly.  Better, don’t take personal pictures with your company phone. If you must sync your iPhone with a computer, make sure it is only a company computer. Never sync your company issued iPhone or iPad with your personally owned computer. Only sync your device with a company issued computer.

Personal Device Liabilities

Even if during an investigation nothing is turned up on your device related to the company’s investigation, if they find anything incriminating on your device (i.e., child porn, piracy or any other illegal things), you will be held liable for those things they find as a separate case. If something is turned up on your personal device related to the company’s investigation, it could be permanently seized and never returned.  So, you should be aware that if you carry any device onto your company’s premises, your device can become the company’s property.

Caution is Always Wise

With the use of smart phones comes unknown liabilities when used at your place of employment. You should always treat your employer and place of business as a professional relationship. Never feel that you are ‘safe’ because you know everyone there. That doesn’t matter when legal investigations begin. If a court wants to find out everything about a situation, that could include seizing anything they feel is relevant to the investigation. That could include your phone, your home computer, your accounts or anything else that may be relevant. Your Employment Agreement may also allow your employer to seize things that they need if they feel you have violated the terms of your employment. Your employer can also petition the court to require you to relinquish your devices to the court.

Now, that doesn’t mean you won’t get your devices, computers or accounts back. But, it could take months if the investigation drags on and on. To protect your belongings from this situation, here are some …

Tips

  • Read your Employment Agreement carefully
  • Ask to strike language from Agreements that you don’t agree with
  • Make sure agreements with companies eventually expire after you leave the company
  • NDAs should expire after 5-10 years after termination
  • Non-compete agreements should expire 1 year after termination
  • Bring devices to the office that you are willing to lose
  • Use cheap dumb phones (lessens your liability)
  • Leave memory sticks and other memory devices at home
  • Don’t use personal devices for company communication (i.e., email or texting)
  • Don’t let the company pay for your personal device bills (especially post-paid cell plans)
  • Prepaid plans are your friend at your office
  • Require your employer to supply and pay for iDevices to support your job function
  • Turn WiFi off on all personal devices and never connect them to corporate networks
  • Don’t connect personal phones to corporate email systems
  • Don’t text any co-workers about company business on personal devices
  • Ask Employees to refrain from texting your personal phone
  • Use a cheap mp3 player without WiFi or internet features when at the office
  • Turn your personal cell phone off when at work, if at all possible
  • Step outside the office building to make personal calls
  • Don’t use your personal Apple ID when setting up your corporate issued iPhone
  • Create a new separate Apple ID for corporate issued iPhones
  • Don’t link iPhone or Android apps to personal accounts (LinkedIn, Facebook, etc)
  • Don’t take personal photos with a company issued phone
  • Don’t sync company issued phones with your personally owned computer
  • Don’t sync personal phones with company owned computers
  • Replace your device after leaving employment of a company

Nothing can prevent your device from being confiscated under all conditions. But, you can help reduce this outcome by following these tips and by segregating your personal devices and accounts from your work devices and work accounts. Keeping your personal devices away from your company’s property is the only real way to help prevent it from being seized. But, the company could still seize it believing that it may contain something about the company simply because you were or are an employee. Using a dumb prepaid phone is probably the only way to ensure that on seizure, you can get a phone set up and your service back quickly and with the least expense involved. I should also point out that having your phone seized does not count as being stolen, so your insurance won’t pay to replace your phone for this event.

iPad mini: Smaller? Yes. Worth it? No.

Posted in Apple, botch, cloud computing by commorancy on November 5, 2012

With all the hype over Apple’s new brainchild, the iPad mini, I’m just not so hopeful about this tablet model at all. Apple has definitely taken a step backwards in this one, which is quite an unusual step for Apple. Typically, Apple always retains previous technology standards it has already set in new products. Usually, it even improves upon those standards. Not so with the iPad mini.

What exactly is the iPad mini?

This tablet is effectively a smaller version of the iPad 2 with a better camera. That pretty much describes it. Many people even go so far as to call it the iPad touch. Actually, the degrades the iPod touch. The iPod touch at least has a market in small handheld touch devices. The iPod touch has a form factor that’s actually useful when you don’t want the expensive 3G data cost tether, that and having access to the rich set of applications available in IOS. So, you can buy into pretty much what an iPhone is without that monthly data tether. Unless you’re on the go 90% of the time or you travel 100% of the time, having a data plan on a phone is pretty much a waste when you are also buying internet at home.

Yet, Apple hasn’t yet to introduce the 3G version of the iPad mini, but it is apparently on the way. That said, what is it about the iPad mini that makes it a compelling device? Well, frankly not much. For me, Apple botched it. Shrinking an iPad 2 into a smaller form factor while adding a better camera just isn’t enough. This is not what Apple is known for, but it is what the NEW Tim Cook Apple will become known for. That is, rehashing old devices into new form factors. The Steve Jobs’s Apple was never about rehashing old technology in new ways. Steve Jobs was always about pushing the envelope to make technology better, easier and faster for the users.

So, the question is, how does the iPad mini fit into that Steve Jobs’ vision? It doesn’t. This is the reason Steve was against releasing a smaller form factor tablet. The iPad mini is everything Steve Jobs didn’t want in a tablet and it is the reason it has not existed until now. It took Steve Jobs departing this earth to undo that vision. That’s why Steve could make Apple better with each and every device and why Tim Cook will begin struggling to keep Apple alive.

Is there a market?

Probably, for people who simply don’t want to carry around multiple devices (i.e., Kindle, iPod touch, iPad and camera), the size of it the iPad mini might work. For me, the 1024×768 screen is just too much of a step backwards. The iPad 3 is a compelling device with its retina display. Why did Apple skimp in this department on the iPad mini? I don’t get it. They’re not known for taking step backwards in technology. This is something I’d expect from Samsung, Asus, Dell or pretty much any other PC maker. I would never expect this level of technological concession from Apple. On the other hand, if Apple had made a phone out of the iPad mini, that might be worth considering.  In fact, turning the iPad 3 into a phone, I’d be all over that.  I’m rather tired of carrying around a phone and the iPad.  Just let me carry one device and let that device be an iPad. With wired and Bluetooth headsets, you don’t need to hold a phone to your face any longer. So, let’s consolidate the devices. That change would definitely make the iPad mini much more attractive as a device.

Weight and Size vs Price

Yes, it’s smaller and lighter, but at what a technology cost? You get a smaller technologically inferior device from what Apple has previously produced in the Retina iPad 3, but at a substantially higher price than is expected for such an inferior device. At $329, you’re effectively buying what exactly? An expensive 1024×768 tablet. Granted, it runs IOS that has previously been known for its stability. Unfortunately, that has changed with IOS 6. What has originally been considered base stability is now gone with IOS 6. Apps like Mail, Safari and even iTunes are unstable. You’ll get a notice for an email in a banner, click on it and the Mail app crashes. Definitely not stable. I’ve also had regular crashes with Safari and iTunes.

So, what Apple had going for itself in stability of IOS is pretty much gone. IOS has now lost its standing as the ultimate goto tablet OS. It’s just a matter of time before the quality of Apple’s products degrades to the point where it’s not even worth discussing. Note, we’re already on the downward side of the Apple quality bell curve. So, unless Tim Cook can manage to crack the whip and right this ship, Apple’s ship is already listing. It’s just a matter of time before it capsizes.

Apple’s Botched Rollout Plan

The whole roll out plan for the iPad mini was just convoluted with its staggered late announcement a month or so after its fall release announcement and then the staggered roll out of the device itself with the WiFi version releasing first. Definitely not something Jobs would have ever allowed. The parts also leaked on the Internet early, so many people already knew the form factor before ever hearing the announcement. Apple needs to lock down its supply chain much more tightly than it has. Again, this is something Jobs would have gone on a tirade as well. Secrecy was critically important to Steve Jobs.

Worth it?

Depends on what you want to do with an iPad mini? While I can definitely see a use and the usefulness for the iPad 3 with its multi-core processor and Retina display, taking this much of a step back for the iPad mini is not the answer. If you really must have this form factor, then perhaps. As a gift, if you really want to spend that level of cash on someone, perhaps. But, even as a gift, it could be seen as ‘cheaping out’.  That is, giving them a Toyota when they wanted the Ferrari (iPad 3).  Be careful with this one as a gift. For people who won’t use the pixels on the screen, it might be ok.

So, is it worth the price? No. This device would only be compelling if it were about $100 cheaper at each model price point or if it contained a phone. At $329, it’s too costly for such a huge step backwards technologically. The size does not make up for that. At $229, it would definitely be getting much closer to the right price. At $199 for a 16GB WiFi model, the iPad mini would be truly at the right price for that level of 2 year old technology. Asking people to pay $130 more for a 2 year old device is just price gouging, or as some people call it, the Apple tax. In this case, the Apple tax is most definitely not worth it.

How not to run a business (Part 3) — SaaS edition

Posted in business, cloud computing, computers by commorancy on May 8, 2012

So, we’ve talked about how not to run a general business, let’s get to some specifics. Since software as a service (SaaS) is now becoming more and more common, let’s explore software companies and how not to run these.

Don’t add new features because you can

If a customer is asking for something new, then add that new feature at some appointed future time. Do not, however, think that that feature needs to be implemented tomorrow. On the other hand, if you have conceived something that you think might be useful, do not spend time implementing it until someone is actually asking for it. This is an important lesson to learn. It’s a waste of time to write code that no one will actually use. So, if you think your feature has some merit, invite your existing customers to a discussion by asking them if they would find the proposed feature useful. Your customers have the the final say. If the majority of your customers don’t think they would use it, scrap the idea. Time spent writing a useless feature is time wasted. Once written, the code has to be maintained by someone and is an additional waste of time.

Don’t tie yourself to your existing code

Another lesson to learn is that your code (and app) needs to be both flexible and trashable. Yes, I said trashable. You need to be willing to throw away code and rewrite it if necessary. That means, code flows, changes and morphs. It does not stay static. Ideas change, features change, hardware changes, data changes and customer expectations change. As your product matures and requires more and better infrastructure support, you will find that your older code becomes outdated. Don’t be surprised if you find yourself trashing much of your existing code for completely new implementations taking advantage of newer technologies and frameworks. Code that you may have written from scratch to solve an early business problem may now have a software framework that, while not identical to your code, will do what your code does 100x more efficiently. You have to be willing to dump old code for new implementations and be willing to implement those ideas in place of old code. As an example, usually early code does not take high availability into account. Therefore, gutting old code that isn’t highly available for new frameworks that are is always a benefit to your customers. If there’s anything to understand here, code is not a pet to get attached to. It provides your business with a point in time service set. However, that code set must grow with your customer’s expectations. Yes, this includes total ground-up rewrites.

Don’t write code that focuses solely on user experience

In software-as-a-service companies, many early designs can focus solely on what the code brings to the table for customer experience. The problem is that the design team can become so focused on writing the customer experience that they forget all about the manageability of the code from an operational perspective. Don’t write your code this way. Your company’s ability to support that user experience will suffer greatly from this mistake. Operationally, the code must be manageable, supportable, functional and must also start up, pause and stop consistently. This means, don’t write code so that when it fails it leaves garbage in tables, half-completed transactions with no way to restart the failed transactions or huge temporary files in /tmp. This is sloppy code design at best. At worst, it’s garbage code that needs to be rewritten.

All software designs should plan for both the user experience and the operational functionality. You can’t expect your operations team to become the engineering code janitors. Operations teams are not janitors for cleaning up after sloppy code that leaves garbage everywhere. Which leads to …

Don’t write code that doesn’t clean up after itself

If your code writes temporary tables or otherwise uses temporary mechanisms to complete its processing, clean this up not only on a clean exit, but also during failure conditions. I know of no languages or code that, when written correctly, cannot cleanup after itself even under the most severe software failure conditions. Learn to use these mechanisms to clean up. Better, don’t write code that leaves lots of garbage behind at any point in time. Consume what you need in small blocks and limit the damage under failure conditions.

Additionally, if your code needs to run through processing a series of steps, checkpoint those steps. That means, save the checkpoint somewhere. So, if you fail to process step 3 of 5, another process can come along and continue at step 3 and move forward. Leaving half completed transactions leaves your customers open to user experience problems. Always make sure your code can restart after a failure at the last checkpoint. Remember, user experience isn’t limited to a web interface…

Don’t think that the front end is all there is to user experience

One of the mistakes that a lot of design teams fall into is thinking that the user experience is tied to the way the front end interacts. Unfortunately, this design approach has failure written all over it. Operationally, the back end processing is as much a user experience as the front end interface. Sure, the interface is what the user sees and how the user interacts with your company’s service. At the same time, what the user does on the front end directly drives what happens on the back end. Seeing as your service is likely to be multiuser capable, what each user does needs to have its own separate allocation of resources on the back end to complete their requests. Designing the back end process to serially manage the user requests will lead to backups when you have 100, 1,000 or 10,000 users online.

It’s important to design both the front end experience and the back end processing to support a fully scalable multiuser experience. Most operating systems today are fully capable of multitasking utilizing both multiprocess and multithreaded support. So, take advantage of these features and run your user’s processing requests concurrently, not serially. Even better, make sure they can scale properly.

Don’t write code that sets no limits

One of the most damaging things you can do for user experience is tell your customers there are no limits in your application. As soon as those words are uttered from your lips, someone will be on your system testing that statement. First by seeing how much data it takes before the system breaks, then by stating that you are lying. Bad from all aspects. The takeaway here is that all systems have limits such as disk capacity, disk throughput, network throughput, network latency, the Internet itself is problematic, database limits, process limits, etc. There are limits everywhere in every operating system, every network and every application. You can’t state that your application gives unlimited capabilities without that being a lie. Eventually, your customers will hit a limit and you’ll be standing there scratching your head.

No, it’s far simpler not to make this statement. Set quotas, set limits, set expectations that data sets perform best when they remain between a range. Customers are actually much happier when you give them realistic limits and set their expectations appropriately. Far fetched statements leave your company open to problems. Don’t do this.

Don’t rely on cron to run your business

Ok, so I know some people will say, why not? Cron, while a decent scheduling system, isn’t without its own share of problems. One of its biggest problems, however, is that its smallest level of granularity is once per minute. If you need something to run more frequently than every minute, you are out of luck with cron. Cron also requires hard coded scripts that must be submitted in specific directories for cron to function. Cron doesn’t have an API. Cron supports no external statistics other than by digging through log files. Note, I’m not hating on cron. Cron is a great system administration tool. It has a lot of great things going for it with systems administration use when utilizing relatively infrequent tasks. It’s just not designed to be used under heavy mission critical load. If you’re doing distributed processing, you will need to find a way to launch in a more decentralized way anyway. So, cron likely won’t work in a distributed environment. Cron also has a propensity to stop working internally, but leave itself running in the process list. So, monitoring systems will think it’s working when it’s not actually launching any tasks.

If you’re a Windows shop, don’t rely on Windows scheduler to run your business. Why? Windows scheduler is actually a component of Internet Explorer (IE). When IE changes, the entire system could stop or fail. Considering the frequency with which Microsoft releases updates to not only the operating system, but to IE, you’d be wise to find another scheduler that is not likely to be impacted by Microsoft’s incessant need to modify the operating system.

Find or design a more reliable scheduler that works in a scalable fault tolerant way.

Don’t rely on monitoring systems (or your operations team) to find every problem or find the problem timely

Monitoring systems are designed by humans to find problems and alert. Monitoring systems are by their very nature, reactive. This means that monitoring systems only alert you AFTER they have found a problem. Never before. Worse, most monitoring systems only alert of problems after multiple checks have failed. This means that not only is the service down, it’s been down for probably 15-20 minutes by the time the system alerts. In this time, your customers may or may not have already seen that something is going on.

Additionally, for any monitoring for a given application feature, the monitoring system needs a window into that specific feature. For example, monitoring Windows WMI components or Windows message queues from a Linux monitoring system is near impossible. Linux has no components at all to access, for example, the Windows WMI system or Windows message queues. That said, a third party monitoring system with an agent process on the Windows system may be able to access WMI, but it may not.

Always design your code to provide a window into critical application components and functionality for monitoring purposes. Without such a monitoring window, these applications can be next to impossible to monitor. Better, design using standardized components that work across all platforms instead of relying on platform specific components. Either that or choose a single platform for your business environment and stick with that choice. Note that it is not the responsibility of the operations team to find windows to monitor. It’s the application engineering team’s responsibility to provide the necessary windows into the application to monitor the application.

Don’t expect your operations team to debug your application’s code

Systems administrators are generally not programmers. Yes, they can write shell scripts, but they don’t write code. If your application is written in PHP or C or C++ or Java, don’t expect your operations team to review your application’s code, debug the code or even understand it. Yes, they may be able to review some Java or PHP, but their job is not to write or review your application’s code. Systems administrators are tasked to manage the operating systems and components. That is, to make sure the hardware and operating system is healthy for the application to function and thrive. Systems administrators are therefore not tasked to write or debug your application’s code. Debugging the application is the task for your software engineers. Yes, a systems administrator can find bugs and report them, just as anyone can. Determining why that bug exists is your software engineers’ responsibility. If you expect your systems administrators to understand your application’s code in that level of detail, they are no longer systems administrators and they are considered software engineers. Keeping job roles separate is important in keeping your staff from becoming overloaded with unnecessary tasks.

Don’t write code that is not also documented

This is a plain and simple programming 101 issue. Yes, it’s very simple. Your software engineers’ responsibilities are to write robust code, but also document everything they write. That’s their job responsibility and should be part of their job description. If they do not, cannot or are unwilling to document the code they write, they should be put on a performance review plan and without improvement, walked to the door. Without documentation, reverse engineering their code can take weeks for new personnel. Documentation is critical to your businesses continued success, especially when personnel changes. Think of this like you would disaster recovery. If you suddenly no longer had your current engineers available and you had to hire all new engineers, how quickly could the new engineers understand your application’s code enough to release a new version? This ends up a make or break situation. Documentation is the key here.

Thus, documentation must be part of any engineer’s responsibility when they write code for your company. Code review is equally important by management to ensure that the code not only seems reasonable (i..e, no gotos), but is fully documented and attributed to that person. Yes, the author’s name should be included in comments surrounding each section of code they write and the date the code was written. All languages provide ways to comment within the code, require your staff to use it.

Don’t expect your code to test itself or that your engineers will properly test it

Your software engineers are far too close to the code to determine if the code works correctly under all scenarios. Plain and simple, software doesn’t test itself. Use an independent quality testing group to ensure that the code performs as expected based on the design specifications. Yes, always test based on the design specifications. Clearly, your company should have a road map of features and exactly how those features are expected to perform. These features should be driven by customer requests for new features. Your quality assurance team should have a list of new all features being placed into each new release to write thorough test cases well in advance. So, when the code is ready, they can put the release candidate into the testing environment and run through their test cases. As I said, don’t rely on your software engineers to provide this level of test cases. Use a full quality assurance team to review and sign off on the test cases to ensure that the features work as defined.

Don’t expect code to write (or fix) itself

Here’s another one that would be seemingly self-explanatory. Basically, when a feature comes along that needs to be implemented, don’t expect the code to spring up out of nowhere. You need competent technical people who fully understand the design to write the code for any new feature. But, just because an engineer has actually written code doesn’t mean the code actually implements the feature. Always have test cases ready to ensure that the implemented feature actually performs the way that it was intended.

If the code doesn’t perform what it’s supposed to after having been implemented, obviously it needs to be rewritten so that it does. If the code written doesn’t match the requested feature, the engineer may not understand the requested feature enough to implement it correctly. Alternatively, the feature set wasn’t documented well enough before having been sent to the engineering team to be coded. Always document the features completely, with pseudo-code if necessary, prior to being sent to engineering to write actual code. If using an agile engineering approach, review the progress frequently and test the feature along the way.

Additionally, if the code doesn’t work as expected and is rolled to production broken, don’t expect that code to magically start working or that the production team has some kind of magic wand to fix the problem. If it’s a coding problem, this is a software engineering task to resolve. Regardless of whether or not the production team (or even a customer) manages to find a workaround is irrelevant to actually fixing the bug. If a bug is found and documented, fix it.

Don’t let your software engineers design features

Your software engineers are there to write the code based features derived from customer feedback. Don’t let your software engineers write code for features not on the current road map. This is a waste of time and, at the same time, doesn’t help get your newest release out the door. Make sure that your software engineers remain focused on the current set of features destined for the next release. Focusing on anything other than the next release could delay that release. If you’re wanting to stick to a specific release date, always keep your engineers focused on the features destined for the latest release. Of course, fixing bugs from previous releases is also a priority, so make sure they have enough time to work on these while still working on coding for the newest release. If you have the manpower, focus some people on bug fixing and others on new features. If the code is documented well enough, a separate bug fixing team should have no difficulties creating patches to fix bugs from the current release.

Don’t expect to create 100% perfect code

So, this one almost goes without saying, but it does need to be said. Nothing is ever bug free. This section is here is to illustrate why you need to design your application using a modular patching approach. It goes back to operations manageability (as stated above). Design your application so that code modules can drop-in replace easily while the code is running. This means that the operations team (or whomever is tasked to do your patching) simply drops a new code file in place, tells the system to reload and within minutes the new code is operating. Modular drop in replacements while running is the only way to prevent major downtime (assuming the code is fully tested). As an SaaS company, should always design your application with high availability in mind. Doing full code releases, on the other hand, should have a separate installation process than drop in replacement. Although, if you would like to utilize the dynamic patching process for more agile releases, this is definitely an encouraged design feature. The more easily you design manageability and rapid deployment into your code for the operations team, the less operations people you need to manage and deploy it.

Without the distractions of long involved release processes, the operations team can focus on hardware design, implementation and general growth of the operations processes. The more distractions your operations team has with regards to bugs, fixing bugs, patching bugs and general code related issues, the less time they have to spend on the infrastructure side to make your application perform its best. As well, the operations team also has to keep up with operating system patches, software releases, software updates and security issues that may affect your application or the security of your user’s data.

Don’t overlook security in your design

Many people who write code, write code to implement a feature without thought to security. I’m not necessarily talking about blatantly obvious things like using logins and passwords to get into your system. Although, if you don’t have this, you need to add it. It’s clear, logins are required if you want to have multiple users using your system at once. No, I’m discussing the more subtle but damaging security problems such as cross-site scripting or SQL injection attacks. Always have your site’s code thoroughly tested against a suite of security tools prior to release. Fix any security problems revealed before rolling that code out to production. Don’t wait until the code rolls to production to fix security vulnerabilities. If your quality assurance team isn’t testing for security vulnerabilities as part of the QA sign off process, then you need to rethink and restructure your QA testing methodologies. Otherwise, you may find yourself becoming the next Sony Playstation Store news headline at Yahoo News or CNN. You don’t really want this type of press for your company. You also don’t want your company to be known for losing customer data.

Additionally, you should always store user passwords and other sensitive user data in one-way encrypted form. You can store the last 4 digits or similar of social security numbers or the last 4 of account numbers in clear text, but do not store the whole number in either plain text, with two-way encryption or in a form that is easily derived (md5 hash). Always use actual encryption algorithms with reasonably strong one-way encryption to store sensitive data. If you need access to that data, this will require the user to enter the whole string to unlock whatever it is they are trying to access.

Don’t expect your code to work on terabytes of data

If you’re writing code that manages SQL queries or, more specifically, are constructing SQL queries based on some kind of structured input, don’t expect your query to return timely when run against gigabytes or terabytes of data, thousands of columns or billions of rows or more. Test your code against large data sets. If you don’t have a large data set to test against, you need to find or build some. It’s plain and simple, if you can’t replicate your biggest customers’ environments in your test environment, then you cannot test all edge cases against the code that was written. SQL queries have lots of penalties against large data sets due to explain plans and statistical tables that must be built, if you don’t test your code, you will find that these statistical tables are not at all built the way you expect and the query may take 4,000 seconds instead of 4 seconds to return.

Alternatively, if you’re using very large data sets, it might be worth exploring such technologies as Hadoop and Cassandra instead of traditional relational databases to handle these large data sets in more efficient ways than by using databases like MySQL. Unfortunately, however, Hadoop and Cassandra are noSQL implementations, so you forfeit the use of structured queries to retrieve the data, but very large data sets can be randomly accessed and written to, in many cases, much faster than using SQL ACID database implementations.

Don’t write islands of code

You would think in this day and age that people would understand how frameworks work. Unfortunately, many people don’t and continue to write code that isn’t library or framework based. Let’s get you up to speed on this topic. Instead of writing little disparate islands of code, roll the code up under shared frameworks or shared libraries. This allows other engineers to use and reuse that code in new ways. If it’s a new feature, it’s possible that another bit of unrelated code may need to pull some data from another earlier implemented feature. Frameworks are a great way to ensure that reusing code is possible without reinventing the wheel or copying and pasting code all over the place. Reusable libraries and frameworks are the future. Use them.

Of course, these libraries and frameworks need to be fully documented with specifications of the calls before they can be reused by other engineers in other parts of the code. So, documentation is critical to code reuse. Better, the use of object oriented programming allows not only reuse, but inheritance. So, you can inherit an object in its template form and add your own custom additions to this object to expand its usefulness.

Don’t talk and chew bubble gum at the same time

That is, don’t try to be too grandiose in your plans. Your team has limited time between the start of a development cycle and the roll out of a new release. Make sure that your feature set is compatible with this deadline. Sure, you can throw everything in including the kitchen sink, but don’t expect your engineering team to deliver on time or, if they do actually manage to deliver, that the code will work half as well as you expect. Instead, pair your feature sets down to manageable chunks. Then, group the chunks together into releases throughout the year. Set expectations that you want a certain feature set in a given release. Make sure, however, that that feature set is attainable in the time allotted with the number of engineers that you have on staff. If you have a team of two engineers and a development cycle of one month, don’t expect these engineers to implement hundreds of complex features in that time. Be realistic, but at the same time, know what your engineers are capable of.

Don’t implement features based on one customer’s demand

If someone made a sales promise to deliver a feature to one, and only one customer, you’ve made a serious business mistake. Never promise an individual feature to an individual customer. While you may be able to retain that customer based on implementing that feature, you will run yourself and the rest of your company ragged trying to fulfill this promise. Worse, that customer has no loyalty to you. So, even if you expend the 2-3 weeks day and night coding frenzy to meet the customer’s requirement, the customer will not be any more loyal to you after you have released the code. Sure, it may make the customer briefly happy, but at what expense? You likely won’t keep this customer as a customer any longer. By the time you’ve gotten to this level of desperation with a customer, they are likely already on the way out the door. So, these crunch requests are usually last-ditch efforts at customer retention and customer relations. Worse, the company runs itself ragged trying desperately to roll this new feature almost completely ignoring all other customers needing attention and projects, yet these harried features so completely end up as customized one-offs that no other customer can even use the feature without a major rewrite. So, the code is effectively useless to anyone other than the requesting customer who’s likely within inches of terminating their contract. Don’t do it. If your company gets into this desperation mode, you need to stop and rethink your business strategy and why you are in business.

Don’t forget your customer

You need to hire a high quality sales team who is attentive to customer needs. But, more than this, they need to periodically talk to your existing clients on customer relations terms. Basically, ask the right questions and determine if the customer is happy with the services. I’ve seen so many cases where a customer appears completely happy with the services. In reality, they have either been shopping around or have been approached by competition and wooed away with a better deal. You can’t assume that any customer is so entrenched in your service that they won’t leave. Instead, your sales team needs to take a proactive approach and reach out to the customers periodically to get feedback, determine needs and ask if they have any questions regarding their services. If a contract is within 3 months of renewal, the sales team needs to be on the phone and discussing renewal plans. Don’t wait until a week before the renewal to contact your customers. By a week out, it’s likely that the customers have already been approached by competition and it’s far too late to participate in any vendor review process. You need to know when the vendor review process happens and always submit yourself to that process for continued business consideration from that customer. Just because a customer has a current contract with you does not make you a preferred vendor. More than this, you want to always participate in the vendor review process, so this is why it’s important to contact your customer and ask when the vendor review process begins. Don’t blame the customer that you weren’t included in any vendor review and purchasing process. It’s your sales team’s job to find out when vendor reviews commence.

Part 2 | Chapter Index | Part 4

Tagged with: ,

iPad: One year later…

Posted in Apple, cloud computing, computers, ipad by commorancy on May 8, 2011

The iPad was introduced very close to this time last year.  Now the iPad 2 is out, let’s see how it’s well it’s going for Apple and for this platform as a whole.

Tablet Format

The tablet format seems like it should be a well-adopted platform. But, does the iPad (or any tablet) really have many use cases?  Yes, but not where you think. I’m not sure Apple even knew the potential use cases for a tablet format before releasing it. Apple just saw that they needed a netbook competitor, so they decided to go with the iPad. I am speculating that Apple released it with as wide an array of software and development tools to see exactly where it could go. After all, they likely had no idea if it would even take off.

Yes, the iPad has had a widely and wildly accepted adoption rate.  Although, market saturation is probably close at hand with the numbers of iPads sold combined with the Android tablet entries (Samsung’s Galaxy S, Toshiba’s tablet and other tablets out or about to be released).  That is, those people who want a tablet now can have one. But, the main question is, what are most people using a tablet for?

My Usage

I received an iPad as a gift (the original iPad, not the iPad 2). I find myself using it at work to take notes first and foremost. I can also use it as a systems admin tool in a pinch. However, instead of carrying paper and pencil into a meeting, I take notes in the notepad app. This is actually a very good app for taking quick notes. Tap typing is nearly silent, so no clicky key noises or distracting pencils. The good thing, though, is that these notes will sync with Gmail and you can read all your notes in Gmail. You can’t modify the notes on Gmail, but at least you have them there. You can modify them on the iPad, though.  You can also sync your notes to other places as well.

My second use case is watching movies. So, I have put nearly my entire collection of movies on the iPad. Of course, they don’t all fit in 32GB, so I have to pick and choose which ones get loaded. The one thing the iPad needs, for this purpose, is more local storage. I’d like to have a 128GB or 256GB storage system for the iPad. With that amount of space, I could probably carry around my entire movie collection. In fact, I’d forgo the thinness of the iPad 2 by adding thickness to support a solid state 256GB drive.

The rest of my use cases involve reading email and searching and, sometimes, listening to music… although, I have an iPod touch for that.  I might listen to music more if it had a 256GB solid state drive.

Cloud Computing and Google

This article would be remiss by not discussing competition to the iPad.  There is one thing about Google’s Android platform that should be said.  Android is completely integrated with Google’s platform.  Apple’s iPad isn’t.  Google has a huge array of already functional and soon-to-be-released cloud apps that Android can take advantage of.  Apple, on the other hand, is extremely weak on cloud apps.  The only cloud app they have is the iTunes store.   That, in fact, is really a store and not a cloud app.  So, excluding iTunes, there really isn’t any cloud platforms for Apple’s devices.  That’s not to say that the iPad is excluded from Google, it’s just not nearly as integrated as an Android tablet.

Eventually, Android may exceed the capabilities of Apple’s IOS platform.  In some ways, it already has (at least in cloud computing offerings).  However, Android is still quite a bit more buggy when compared to IOS. IOS’s interface is much more streamlined, slick and consistent.  The touch typing system is far easier to use on an iPad than on Android. Finally, the graphics performance on Android is incredibly bad. With Android, the scrolling and movement is choppy using an extremely slow frame rate.  Apple’s interface is much more fluid and smooth and uses a high framerate.  The transitions between various apps is clean and smooth in IOS, but not in Android.  This graphics performance issue Google must address in Android.  A choppy slow interface is not pretty and makes the platform seem cheap and underpowered.  Worse, the platform is inconsistent from manufacturer to manufacturer (icons are different between manufacturers).  Google has to addresses these performance and consistency issues to bring Android to the level where it must be.

Apple’s Blinders

That said, the iPad (or more specifically Apple) needs to strengthen its cloud offerings.  If that means partnering with Google, then so be it.  Apple needs something like Google Docs and Google Voice.  It also needs cloud storage.  It needs to create these offerings that are Apple branded that integrate with the iPad natively, not as third party add-ons through the app store.  This is what Apple needs to work on.  Apple is so focused on its hardware and making the next device that it’s forgetting that it needs to support its current devices with more and better cloud offerings.  This is what may lead Apple out of the tablet race. This may also be what makes Google the leader in this space.

So, what things do you use your iPad for?

Let’s Find Out

Poll 1 Poll 2
Tagged with: , , ,

iPad, iPod, iPhone, iConsume

Posted in Apple, cloud computing, computers by commorancy on July 30, 2010

While all of these new Apple devices seem really great on the surface (pun intended), with no effective local storage, the design behind these devices offers no thought on creation or export of created content. However, the design clearly targets consumption of digital goods. Effectively, this is a one-way device for content. That is, content goes in but it doesn’t come back out. The question begs, however, does Apple think that we are only consumers now? We are now relegated to being just a bunch of ravenous money spending consumers? We don’t have brains in our heads or creativity or imagination? We’re just a bunch of finger pushing consumers with portable devices?

Consumerism

If there’s anything that Apple has done in recent years with these one-way devices, it’s to solidify consumerism. That is, to sell us products that are essentially one-way content input devices. Granted, it has a camera so we can take pictures or video. And yes, they may have even managed to get a video editor onto an iPad, but these apps aren’t designed for professional level editing (or even prosumer level editing). Sure, it’s fine for some random party or perhaps even a low quality wedding souvenir, but these consumer-centric devices really don’t offer much for creativity or imagination, let alone software development. It doesn’t even much offer a way to produce a spreadsheet or a word processor document. No, these platforms are almost entirely designed for consumption of digital goods (i.e., books, movies, magazines, music, web content, games, etc).

Lack of Creativity

These devices were designed to consume, not create. Consume, consume, consume and then consume some more. Yes, some creativity apps have popped up, but they’re more game than serious. They’re there to let you play when you’re bored. Even these creativity apps must be consumed before you can use them. As these are really read-only devices (no hard drive, external storage or other ways of getting things out of the device), these creativity apps really aren’t meant to be taken seriously. In other words, these apps are there to placate those who might think these are consumer focused only. In reality, these creative apps are shells of what a real creative app looks like, such as Photoshop, Illustrator, AutoCAD or Maya. Even prosumer apps like Poser and Daz Studio are still leaps and bounds better than anything that’s available on these iConsumer devices.

Computers vs iConsumers

Computers are designed as well rounded devices capable of not only consuming content, but creating it. That is, as a computer owner, you have the choice to both produce and consume content. Granted, there are a lot of people who have no intention of writing music, painting a digital work, developing an application or writing a novel. However, with a computer, you have these choices available. With iConsumer devices, you really don’t. On IOS 4 or even Android, these devices just don’t have enough resources to run these types of full sized apps. So, you won’t find a full Office suite on the Droid or an iPhone. Even something as big as the iPad still doesn’t have a productivity suite that would work in a proper or efficient way. Granted, Android likely supports Google Docs. But, even still, I don’t want to sit around all day pecking in information on a chicklet keyboard of a phone. Give me a solid full sized qwerty keyboard any day for creation.

Cloud Computing, Operating Systems and a step backwards

Apple definitely missed the ball on this one. With a device like the iPad without any local storage, the only way this device could actually create is by using cloud computing services. Unfortunately, Apple offers nothing in cloud computing. The iTunes store is a poor alternative to that. In fact, the iTunes store is just a store. It doesn’t offer online apps like Google Docs, it doesn’t offer any types of web based or cloud based services that the iPad can consume. The sole way to deal with the iPad is through apps that you must download from the store. Yes, there may be ‘an app for that’, but many times there isn’t.

The other difficulties with apps is that they don’t work together on the device. There is no app synergy. For example, NeXTStep (the operating system that gave birth to Mac OS X and later iOS4) was a brilliant design. It offered a system where any app could extend the operating system by adding new controls or features. New apps installed could then consume those controls within its own app framework (sometimes even launching the other app to do so). With iPhone OS (any version), Jobs has taken a huge step backwards in computing. No longer is this extension system available. Apps are just standalone things that don’t interact or interrelate to or with one another. Yes, now multitasking may be back, but they’re still just standalone things. About the extent of interrelation between apps is having one app launch Safari and open a URL. Wow.. so sophisticated.

Notebook and creation tools

Granted, there are a lot of people who’s sole goal is to consume. And yes, it’s probably true that most people only want to consume. The question is, though, do you want to give up the ability to create to only consume? That’s exactly what you give up when you buy into the iPad, iPod or iPhone. When these portable devices can clearly consume and create content equally well and don’t force consumers to make this choice when purchasing a device, then the device will have its true potential. Until then, I see these consumerist devices as easy ways to give your money away. For people who don’t need portable creation tools, that’s fine. For those of us who do, then a full fledge hard drive-equipped notebook is still the only portable device that fills this void.

Cloud Computing Standards

We are not where we need to be. Again, the iPad was a shortsighted rapidly-designed device. It was designed for a small singular purpose, but that purpose wasn’t long term designed. Sure, the OS is upgradeable and perhaps the device may get to that point. Perhaps not. Apple has a bad habit of releasing new devices making the old ones obsolete within months of the previously-new device. So, even if a device is truly capable of reaching its potential, Apple will have tossed it aside for a new hardware device 6-10 months later.

Clearly, cloud computing will need to establish a standard by which all cloud computing devices will operate. That means, the standards will discuss exactly how icons are managed, how apps are installed and how people will interface with the cloud apps. That doesn’t mean that different devices with different input devices can’t be created. The devices can, in fact, all be different. One computer may be keyboard and mouse based, another may be touch surface based. What the cloud standards will accomplish is a standard by which users will interact with the cloud. So, no matter what computer you are using, you will always consume the cloud apps the same way. That also means the cloud apps will always work the same no matter what interface you are using.

We are kind of there now, but the web is fractured. We currently have no idea how to find new sites easily. Searching for new sites is a nightmare. Cloud computing standards would need to reduce the nightmare of search, increase ease of use for consumers and provide standardized ways of dealing with cloud computing services. In other words, the web needs dramatic simplification.

Cloud Computing and the iPad

The iPad is the right device at the wrong time and consumers will eventually see this once a real cloud computing device hits the market. Then, the iPad will be seen as a crude toy by comparison. A true cloud computing device will offer no storage, but have a huge infrastructure of extensible interrelated apps available online. Apps similar to Google Docs, but so many more types all throughout every single app category. From games, to music, to video, to photography, to finance, to everything you can imagine. Yes, a true cloud computing device will be able to consume as freely as it can create. A cloud computing OS will install apps as links to cloud services. That is, an icon will show on the ‘desktop’, but simply launch connectivity right into the cloud.

Nothing says that you need a mouse and keyboard to create content, but you do need professional quality to produce professional content. I liken the apps on the iPad to plastic play money you buy for your kids. Effectively, they’re throw-away toy apps. They’re not there for serious computing. To fully replace the desktop with cloud computing, it will need fully secured full-featured robust content creation and consumption applications. You won’t download apps at all. In fact, you will simply turn your portable computer on and the cloud will do the rest. Of course, you might have to use a login and password and you might be required to pay a monthly fee. But, since people are already paying the $30 a month for 3G service, we’re already getting accustomed to the notion of a monthly service fee. It’s only a matter of time before we are doing all of our computing on someone else’s equipment using a portable device. For listening to music, we’ll need streaming. But, with a solid state cache drive, the device will automatically download the music and listen offline. In fact, that will be necessary. But this is all stuff that must be designed and thought out properly long before any cloud device is released. …something which Apple did not do for the iPad. What they did do, though, is create the perfect digital consumption device. That is, they produced a device that lets them nickel and dime you until your wallet hates you.

Tagged with: , , ,

iPad: After the dust settles

Posted in Apple, cloud computing, computers, itunes by commorancy on May 3, 2010

We are now a month post iPad launch and where are we? Some news sites are postulating the the use of iPad in the enterprise world. I can’t even fathom a use for it at home, much less putting it into the hands of corporate users. Let’s examine this platform more carefully to understand the reasons for its lack of viability in Enterprise, much less for simple home uses.

Multitasking

I know a lot of media outlets have harped endlessly on the lack of multitasking. Granted, it is a computing device and most computing devices do require some level of multitasking. I know that the iPod and the iPhone had very little internal memory (at least up to 3rd gen editions). So, it could only comfortably run one app. That was primarily a memory limitation. With the latest iPhone and iPod touch, that may have all changed. To be perfectly honest, I don’t keep up with Apple’s hardware spec details. Why? Because it’s not really that much of an interest. I mean, that’s the point. It shouldn’t be. Apple has always touted their devices ‘just work’. So, why should I need to dig inside one of their devices to find out the gritty details? I shouldn’t need to.

This issue is also what bites Apple many times over. They decide to under design the device by putting in not enough resources. So, they have to make concessions in the operating system by removing things like multitasking. Of course, with the iPod touch and the iPhone, we’re talking about very small devices that may not have the physical room to hold the amount of resources necessary to support multitasking.

The iPad’s physical size should no longer hinder their ability to put in the necessary resources to fully support multitasking (and then some). So, there is no reason why the iPad shouldn’t have supported multitasking out of the gate. But, it doesn’t. The iPhone 4.0 OS is supposed to address this issue, but not until the fall of 2010.

Multitasking and how it relates to computing

So, is it required that a PC support multitasking? Good question. It’s also a question not easily answered. In general, though, the answer should be ‘yes’. It should be ‘yes’ because the ability to run multiple apps is necessary to get things done. For example, to copy and paste between two different documents or to share information through application conduits. Even the simple act of embedding one app inside another requires multitasking. Quitting and restarting each app to move between them is cumbersome and time wasting.

In the end, yes, multitasking is required to make the computing experience be what we’ve come to expect. In the iPad, that computing experience isn’t there. So, for this reason, iPad won’t be fully accepted without multitasking. We’ll revisit this topic, however, once multitasking is (re) introduced in iPhone 4.0 OS.

Enterprise computing and the iPad

Is it ready for enterprise? I personally would say no. I’ve owned an iPod touch for several years and since the iPad really has no better selection in enterprise apps than does the iPod touch, the answer to this question is still no. Even though the screen on iPad is larger, it doesn’t offer the necessary productivity apps to fully work in a corporate enterprise. Yes, it does have a mail app. That’s a big part of what makes it work in Enterprise. Unfortunately, that mail app is so locked down and limited, that it may not fully work for the enterprise. That’s not to say that the mail app isn’t good in a pinch or to read a quick current email or two. But, don’t try to go searching for emails buried in your folders, that just doesn’t work well.

For enterprise computing, the current incarnation of the iPad is nowhere near ready.

What uses does the iPad offer?

Good question, once again. It isn’t a media PC, so that’s out. It isn’t good for enterprise level computing, that’s out. It can watch movies and read books, so coffee table literature, ok. Ignoring the touch screen and sleek design (which are just amenities, after all), it has to come down to the apps and features. The apps are limited, at this point, and I don’t really see much of that changing due to Apple’s app lockout situation.

Until Apple opens the platform up for general development, the platform will continue to be tightly controlled and, thus, limiting the applications that are available. Until this situation is resolved, this device may never end up anything more than a novelty.

HP’s slate cancelled

Looking back at history shows us that the tablet has had an extremely rocky past that always leads to failure. I’m not sure that even Apple can overcome this rocky past even with the success of the iPhone. The iPad is really too big and clunky to be truly portable. It’s too closed to allow open development. So, it’s no surprise that HP and other companies who had previously announced their intent to release a tablet are now reconsidering that release. In fact, HP announced the slate on the heels of Apple’s iPad announcement and has now cancelled the slate completely before it was even released.

Some people blame the ‘success’ of the iPad. Well, success is very much subjective. Putting 500,000 of the iPad into circulation is nothing to sneeze at. But, that doesn’t necessarily indicate success. The Newton comes to mind here. It was a hot new item that all but died in about two years. Where is the Newton now? Apple has a past history of deleting products rapidly and the iPad may be one of those items.

Apple’s past failures

If you really want an iPad, then get it now while it’s hot. Don’t wait. The reason I say this is that in 6-12 months, you could find yourself with a doorstop that Apple no longer supports. Apple has a history of killing off failing devices rapidly. So, with this particular device, don’t wait to buy it. If you wait until spring of 2011, you may find that the device is dead and buried. You could be holding a flat doorstop that iTunes no longer supports and with no active development. I can very easily see this device becoming one of Apple’s most recent failures.

Working while traveling

The tablet format has a questionable past anyway. The form factor isn’t pleasing to use. It isn’t easy to carry and, getting past the touch screen, it’s cumbersome to write text into it. So, it’s going to need a dock with a keyboard and mouse. A real keyboard and a real mouse. But, that takes the portability out of it. If you’re sitting on a plane, you’re locked into using the touch surface. Now consider that you can’t lay the device flat and work easily. I mean, you can lay it down, but then it’s not at the correct viewing angle. To get it into the correct viewing angle, you have to hold it in one hand, you have to balance it in your lap in a contorted way or you have to carry along a kickstand when you’re on a plane.

In this instance, a notebook, iphone, itouch or netbook works much better. For a netbook, the top pops open at the correct viewing angle and you have a real keyboard and mouse available. Granted, it’s not a touch surface, but that’s just a novelty anyway. Once the novelty of touch wears off, then you have to determine how to make use of this input method in an actual usable way.

Using an iPod touch or iPhone is also easy. It fits easily in one hand, is light in weight and works without the need for kickstands, contorted positions or clumsy positioning issues. Clearly, not a lot of usability was discussed when the iPad was designed. Usability is one of the things Apple usually prides itself in its designs. In the iPad, usability was clearly an afterthought.

3G iPad

This is the one and only one saving grace of the iPad. Internet everywhere is where we need to be. The supposed $29.95 monthly plan associated with the 3G version of the iPad is a reasonable price. Unfortunately, the iPad itself is marked up by an additional $130. So, instead of $499, it’s $629 (and that’s the smallest iPad). But, the iPad with 3G is the only version that I would personally consider. I already have an iPod touch and its uses are extremely limited unless you have WiFi handy (which isn’t very often). And, even when you do find a place that claims to have WiFi, 8 times out of 10, the connectivity is either slow or limited. So much for free WiFi. While 3G isn’t that fast, it’s at least always on pretty much anywhere you need it.

Form factor is the key to success

The problem with the current iPad is its size. This is the wrong form factor to release. It’s the wrong size and wrong weight. The size that the iPad should have been was about the size of a paperback book. Bigger than an iPod touch, small enough to fit in a pocket. This will take computing to the truly portable level. The screen will be bigger than a Sony PSP (which is a decent size to watch movies), but small enough to still be portable. Combine that with 3G and you have a device that people will want to use. The iPad is not that portable and still requires a case with handles. After all, you don’t really want to drop a $600+ device. But, a device the size of a paperback book at the cost of maybe $399, that’s in a price range that could work.

First Gen iPad

Remember that this is the first generation iPad. You really have to wait until the third gen of an Apple device to get to the features that make it worthwhile. The question remains, will the iPad even make it to a third incarnation? Only time will tell. Apple won’t abandon the iPhone OS on devices for quite some time. But, the form factor of the iPad is likely to change several times before it’s over. Like I said, if you want this thing, buy into it now. Otherwise, if you want to wait a year, you may not be able to get this form factor again and you may find that Apple has backtracked into smaller more portable devices.

iPad: Reflections of things to come?

Posted in cloud computing by commorancy on February 3, 2010

While many critics are discussing the iPad’s lack of design and originality, I’ve come to another conclusion about this device and its ultimate vision.  Jobs has always been a visionary among computing technologies.  This device may seem unoriginal on the surface, but the one question that must be asked, “Is this device the first salvo to the death of the PC?” As much as you might consider that this is a PC, I believe that this device and its form factor may be the future of thin computing (like it or not).

Future

Some technologists predict that wireless technologies and broadband connections will get to the speed threshold that will render hard drives obsolete.  There is some merit to this argument.  Indeed, once the network speeds exceed hard drive speeds, what then is the need for the hard drive?  So, why keep your data on flaky devices prone to failure?  This is especially true when there’s plenty of cloud storage that can protect your data from loss.

With that in mind, once we unburden the computer from unstable storage technologies (ignoring the ramifications to Western Digital and Seagate), the need for portable always-connected devices like the iPad become amazingly clear.

iPad 1.0

The iPad is still firmly tied to storage technologies, albeit sans hard drive.  Instead, it uses flash storage.  Flash storage is silent and probably longer lasting than unstable mechanical drives.  Flash can be placed into footprints that can make devices very small.  As the size of flash memory increases and their subsequent footprint decreases, this memory offers unprecedented size possibilities.  While the iPad is a clumsy design, one thing is clear… it may yet become the first viable cloud computing device.

Cloud Computing

This is the prediction from technologists that spell doom and gloom to the likes of Microsoft and Apple.  Well, at least doom and gloom to the operating systems we know and love.  With cloud computing, no longer will we have the need for local storage.  Instead, all of our files will exist on servers in the cloud.  Indeed, when broadband technologies get to gigabit speeds, it will far exceed the speed of slow, mechanical, loud and unreliable hard drive technologies.  Flash storage will become the defacto standard for temporary local storage. With always-on computing at every place around the globe at gigabit speeds, there will be no need to for the hard drive.  This means your files will always be online.

We are already heading in that direction rapidly.  With sites like Flickr and Picasa, you can store all of your photos online.  With Last.fm, you can listen to just about any music you want.  With Hulu, you can watch all of the TV that you want.  These are all perfect examples of cloud computing.  With always-on cloud computing, you will eventually have access to anything you need immediately. For example, you want to watch a movie released to the theaters last Friday?  Tune in and you’re watching.

The immediacy of any data you can possibly want will usher in cloud computing and possibly spell death to the PC.

Dumb Terminals

With the release of devices like the iPad and other solid state tablet devices, it’s clear we’re moving towards cloud computing.  We just need our Internet speeds to become much faster.  Data security issues need to be fully addressed, yes.  Were cloud computing to become the defacto standard, and I believe it has a strong chance of that, smaller thinner devices with thin client softwares (lightweight operating systems) may spell the end to the likes of Windows and Mac OS X (at least for consumer devices).  With thin client computing, devices can become very thin, sleek and very fast.  Instead of shuttling around small SD cards from device to device, each consumer device will include a thin client to upload videos and audios directly to the cloud.

The immediacy of such consumer data will also user in a new wave of news reporting.  An earthquake in Haiti?  Cloud computing will ensure images appear on the web immediately by cloud users.

How do the business models work?

That’s dependent on businesses.  With Google positioning itself as being the leader in cloud computing, it has already a substantial leap over other slow barge companies like Microsoft.  Oracle’s Larry Ellison had predicted cloud computing years ago.  While his prediction was years early and no where near ready for primetime, his prediction may actually be coming into reality.

Data Centers

Clearly, the hard drive will never go away entirely.  Cloud computing requires massive data centers with lots of spindles holding data somewhere.  So, the burden of storage will be firmly placed onto companies like Google.  So, while consumer devices become smaller, more compact and offer cloud computing, business’ data centers will still require larger computers with hefty storage systems (the data has to exist somewhere).  So, while thin computer may become commonplace in years to come for consumers, data centers will still be firmly entrenched in larger numbers of computers and the then fastest storage technologies.  So, while Seagate and Western Digital may no longer be household words for consumers, they will still have a huge presence in the back ends that run the clouds.

Where we are now

Our Internet is still far too slow to be of real use in cloud computing today and, thus, not really ready for thin computing yet.  But, as technology progresses, we will see much faster Internet speeds in the future.  This will allow for always-on wireless anywhere computing.  As devices become more portable and connected, it is inevitable that consumer technology become dumber to take advantage of remote storage.  Right now, I see cloud computing as at least 10-20 years out for true viability.  However, I believe that in hindsight, the iPad and iPod touch may be seen as the ‘father’ of thin computing devices.

Local Storage / Death of Windows?

For better or worse, thin client computing is coming. No longer will we need bloated operating systems like Windows. Once the immediacy of cloud storage becomes apparent, users will rapidly see the convenience of being able to get their files anywhere at anytime.  Local storage traps your data in one computer that you only have access to at limited times.  Cloud computing allows you to store your data in omnipresent storage that can be accessed 24/7 from anywhere. More than this, software as a service (SaaS) will ensure apps on the web rather than the need to be installed locally.

Standardized thin client computers will offer throw-away computers.  Computers that, when broken, are simply tossed and you purchase another.  No need to worry, “Oh, I’ve lost all my files”.  Just simply buy a new thin client, login and all your files are immediately there.  This is convenience and hassle-free computing at its simplest.

The iPad may be a considered a failure in our current local computing mentality, but it may actually be the perfect computer to usher in cloud computing.  It just needs to overcome some hurdles like lack of Flash and Silverlight.

There may yet be method to Steve Jobs’ madness.

%d bloggers like this: