Tuesday, September 28, 2010

Could a failed Ubuntu Software Store be a failure for Linux in general?

One of the things I believe has always held Linux and open source back from mainstream adoption is the near total dependence on community software development and support. While I certainly see the value of community and would be the first to say it works very well, I think the demand for 'free as in freedom, free as in price, software that's totally community developed is beginning to cripple both the movement and the platform.

Canonical, makers of the popular Ubuntu Linux distribution, is one of the first Linux distributors to tackle this problem head on and offer developers the ability to sell their software directly to Ubuntu users via an upcoming upgrade to the built-in Software Center. Using Software Center, users will be able to easily purchase and install software directly on their machines without the need for command line configuration, editing configuration files, or even seeing a hint of the command line. To some degree, Software Center, especially with this upgrade, brings Linux software management every bit as easy as Windows or Mac.

Unfortunately things don't look too promising for the store as it's scheduled to be released next month with only one official application: a suite of media codecs that while useful, will definitely leave a bad first impression of the service. To add insult to injury, there seems to be no defined way, even with only a month left to go before release, for developers to request to have their applications included in the store and Canonical is very dodgy when asked directly about how to do so.

This could be very bad. As one of the largest, if not the largest, consumer installed Linux distribution in use today, people will be looking for Ubuntu to set a standard for software distribution on the platform. A failure to deliver a clear, user-friendly, defined product will not only hurt Ubuntu as a brand but the entire Linux community. If the software store fails, people aren't going to say 'look at how Canonical failed to offer a working software store', they're going to say 'Yeah, Linux tried to sell software once and it failed miserably'. They won't differentiate, they won't connect it with Connonical, it will forever be associated in users minds with a Linux failure.

"See", they will say, "you can't make money on Linux. Why bother developing for it? Stick to Windows and Mac." Sure, they say that now, but Canonical is in a unique position to either prove them laughably wrong or deathly right. Everything is riding on the success of the software store and, right now, it's just not where it needs to be.

With no well defined process for software inclusion, no well defined pricing and payment structure and only one application in the store on launch, I hope Canonical has the wisdom to pull the plug on the store and delay its release for while until they've built up a decent list of paid applications. With its crazy six-month release cycle, there seems to be a feeling that the store must be ready for the upcoming 10.10 release. Only Ubuntu adheres to this crazy software cycle. Everyone else on earth understands that major new features that aren't intrinsically tied to the functionality of the operating system can be deployed anytime. Imagine what would happen if Microsoft released no new software for Windows except when they upgraded the OS. Windows users would think it's insanity and Linux users should feel the exact same way. There is absolutely no compelling reason why the software store has to be launched on the 10.10 release date. It's short sighted and could easily translate to the total failure of the software store - a feature who's time has come, but just isn't ready for 10.10.

Personally, I'd like to see a few things from Canonical before they officially release the software store:

1. I want a clear, well-defined, way to get my paid applications into the store.

2. I want a clear understanding of how I will be paid and how much Canonical will take from each sale.

3. I want my applications to have a good chance of selling. That means I want a robust marketplace with lots of well-written, competing, software and good backing from Canonical.

4. I do not want a requirement that my applications must be open source to be included in the marketplace. Sure, open source has a lot of benefits, but the choice should be the users. Freedom of choice, by definition, should include the freedom to choose non-freedom. I think this is something the free software and open source movements have missed. This one point could make or break the software store.

In short, I suppose I really want something like the Apple App Store for the Ubuntu desktop. For all its problems, Apple has developed a vibrant and thriving marketplace where developers can make real money. There's a good balance between free and paid apps and the user always has the freedom, with a few constraints, to choose whatever application that works for them.

Will the Ubuntu Software Store live up to the bar set by Apple? Probably not at first. But, with time, I think it can get there as long as the community breaks the 'free means free of cost" mentality. Regardless of what Richard Stallman says, there's nothing really evil about proprietary software. Sometimes, it makes the best sense for both the developer and the consumer. It would do Canonical well to remember not to be so fanatical about 'free software' tat it alienates the very companies and developers that could most benefit the Linux movement.

I'm looking forward to the software store. I hope it's not released in October with the shipping of Ubuntu 10.10 but, in the end, it's going to be a true partnership between Canonical, software developers, and end users working together to make the software store a success or failure. I just hope Canonical has the wisdom to break out of this 'release with new OS upgrade' mindset and put the needs of the community ahead of its own marketing hype.

More Oracle bloodletting as OpenOffice forks

If Oracle purchased Sun with the main intention of acquiring Java, that might soon be the only technology they're left with. First Monty of MySQL fame began pushing a new database initiative after losing confidence that MySQL would survive Oracle's chopping block, then the father of Java left the company citing pay and corporate culture as his main reasons for heading for the hills, then Oracle itself discontinued the popular OpenSolaris operating system, opting to keep the paid only "Greedy Bastards" version. All-in-all, it's not been an easy road for open source within Oracle this last year. Yesterday, it got even worse.

After expressing severe doubt about Oracle's intentions with the popular OpenOffice productivity suite, a team of independent developers, OpenOffice veterans, and others from around the software industry, announced the launch of The Document Foundation and a new office suite based off of OpenOffice called, sadly, LibreOffice.

The Document Foundation says that it seeks to continue the legacy of OpenOffice by running a truly independent, transparant, and meritocratic organization that guides the future of the software suite by community instead of committee.

I believe the unstated goal is 'to make sure OpenOffice survives Oracle'.

Overall, LibreOffice has a good start. It's got broad support from around the industry and is definitley going to be able to capitialize on the tide of Oracle hate that's going around. Will Oracle try to kill the initiative? Probably so. Even though they give OpenOffice away, it still brings in customers and allows the Oracle name to be in front of customers. LibreOffice is a threat to Oracle, just like OpenSolaris was and just like MySQL is. While I hope it survives, I'm not terribly hopeful for its future.

Is Oracle quickly becoming the new Microsoft? Will it, like Microsoft, eventually grow into a comfortable relationship with the open source community? I wasn't too hopeful for Microsoft and they've proved me wrong. For the sake of the community, I hope Oracle does too.

I'm not holding my breath.

Saturday, September 25, 2010

Tackling human trafficking through technology

It's a sad fact that, even in our modern, advanced, world, human trafficking is still a major problem. Every day, hundreds of people around the world are kidnapped or even given by their families, and forced into sex work By some estimates, 'hundreds' is too low. Recent statistics seem to show that the number of girls, boys, and young women forced into the international sex trade may well number into the thousands each and every year.

In recent years, sex slave trafficking has gone high tech. Many of the biggest traffickers are now using the Internet to find new customers and widen their reach far beyond the small closed 'you have to know someone' club they used to operate in. But while the use of the Internet makes trafficking easier and more profitable than ever, it also provides us with a broad opportunity to address the problem using technology.

Brandon Merritt from UC Berkely has launched an ambitious new project called Project Milk Carton that seeks to bring two hot technologies - facial recognition and internet web crawl bots, to bear against these bad guys. The idea is simple: compile a database of pictures of trafficking victims, then crawl the web looking for other pictures of that person. When a hit is made, do deeper analysis and, finally, work with law enforcement to recover the person from the trafficker.

I'm excited about this project for a number of reasons. First, while facial recognition isn't perfect, it's good enough to potentially produce a quite viable tool in the arsenal against trafficking. Second, it automates the process of analyzing data and, in effect, puts dedicated slueths on the trail of the missing twenty-four hours a day. If this project is even marginally successful, the results could be incredible.

Right now, Brandon is looking for both funding and coding help. If you can provide either, or would like to find out other ways you can participate in the project, I encourage you to email him at merrittb7@gmail.com

Monday, September 20, 2010

This post commits a crime: another case of patent (mis)use by scamy trolls

So it seems that there's a new twist to the patent troll industry. In what appears to possibly be the first case of such silliness, Dr. Ann de Wees Allen, a supposed nutritional researcher with a Ph.D (unverified) and over 25 years experience, has successfully trademarked her own name and is threatening to sue anyone using it with out her permission. That means, of course, that this blog post has violated the law twice already just by mentioning Dr. Ann de Wees Allen (three times!) and that these stories all do so as well, putting us all in 'serious risk' of being sued.

Yes, I realize how absolutely stupid what Dr. Ann de Wees Allen is doing actually is, but the scary thing is that there are many people so confused by the workings of the patent system and why it exists that this kind of thing isn't really unexpected. It's just as much a testament to Dr. Ann De Wees Allen's ignorance of the system as it is one to the brokenness of that very system.

But it gets even better.

The patent isn't actually registered to Dr. Ann De Wees Allen but to a company called NutriLab Corporation, Inc, of which we can probably assume Dr. Ann De Wees Allen holds either a full stake in or possibly is one of many stakeholders. The problem with this, and something her law firm should have told her, is that since it's a corporation and, thus, a living entity run by a board of directors, Dr. Allen could be ousted from the company and they could continue to use her name without her permission. Worse still, since she doesn't own the patent herself, it would then become illegal for her to use her own name without the permission of NutriLab.

See how silly it gets? See why it's broken? See why it needs change?

The American patent system was never meant to be this way. It was not created to stop people from mentioning your trademark, but to stop brand confusion. A good example is a recent case where Microsoft Corporation brought suite against Mike Rowe Soft Corporation, run by one Michael Rowe. Someone wanting a product from Microsoft could easily be confused by the name Mike Row Soft and, thus, Microsoft's litigation was valid. It's all about preventing consumers from getting confused by similar names which could bring about problems for both the consumer and the legitimate trademark holder.

But Dr. Ann de Weese has no such intent. She's not worried about anyone calling themselves "Dr. Ann de Wees Allen" and selling competing products. She's worried about someone criticizing her product and mentioning her by name. She's trying to control what people write and say about her product by claiming a trademark that is inapplicable in this case. Courts have long held the right of consumers and journalists to use a trademarked name when they are reviewing, discussing, or, especially, criticizing, a company or individual. A site called WalmartSucks.com is a good example of that. Walmart sued, got smacked down by the court, and ended up offering the site creators boatloads of money to buy the site from them. Walmart obviously owns the trademark to their name but they could do nothing about the walmartsucks.com website. Other companies like GM, AT&T, and Ford Motor Company, have tried similar actions that all ended in the same disappointing result for them. Bottom line is you can't shut up criticism by claiming a trademark violation.

Personally, I love this situation. By claiming trademark violation, Dr. Ann de Wees Allen has guaranteed that her trademark will be 'violated' and, thus, provide an excellent new test of patent law. Unfortunately for her, she's also brought even more ridicule upon herself and definitely beefed up the image that many have of her as a quack. I guess we're just going to have to add 'patent troll' and 'trademark land grabber' to the list of names.

I don't know Dr. Allen and have never tried her products. In fact, I'd never heard of her before I read the story on Slashdot yesterday. But I can tell you this: after reading her ridiculous claims on using her name, I will never try her products. They might be fantastic and work exactly as described or better, but her greed and protectionist measures have shown me that she is potentially someone who can't be trusted as a curator of truth. How can I know if her stuff does what she says it does when I know she's trying to use patent law to shut up her critiques? Are there that many that she needs a cadre of lawyers to protect her? If so, why are there that many critiques if the products are so great?

So, in the end, Dr. Ann de Wees Allen has succeeded in getting my and a large part of the market's attention. Unfortunately, it was only to show us that she is not to be trusted and could be a total loony quack.

Number of times I've broken the law in this post: 11.


Sunday, September 19, 2010

Firefox 3.6 on Linux sucks. Here's how to fix it.

On Ubuntu 9.10 and up, Firefox is slow. It's one of the biggest complaints I hear from new users of the OS and, I have to admit, it was the only thing that didn't work very well when I first installed my new 10.04 system. Perhaps the most confusing part of the problem is that it seems pretty random. Some web pages will load fine and quickly while others will just sit there and hang forever.

While many people on the mailing list and forums bang their head for hours (or even days), the solution is actually pretty easy and it mostly revolves around your hardware's support for IPv6. Some hardware supports it, others don't. If you're having the problem, yours probably doesn't - or doesn't support it well and you need to both disable and enable a few things.

Here are the steps. It's probably best to document your current settings in case something borks so you can revert to your old only half-broken settings.

1. In the Firefox location bar type 'about:config' and press enter. This will bring up the configuration options screen. There are a lot but, thankfully, you only have to change a few of those options.

2. In the 'Filter' box, search for 'network.http.pipelining' and change its value to TRUE by double clicking it.

3. Next, search for 'network.http.pipelining.maxrequests' and change the default value to either 8 or 10. I've noticed very little difference between 8 and 10 so the real value doesn't matter much. I set mine to 9.

4. Now search for 'network.http.proxy.pipelining' and change its value true.

5. Next, find 'network.dns.disableIPv6' and change it to true.

Now, restart the browser and you should notice a drastic change in page loading time.

There are a few people who believe you can get away with changing only the last entry. This didn't work for me at all and I didn't notice any change in performance at all. I had to change most of the entries to get it to work.

Also, there's some debate about enabling network.http pipelining. According to this article, you could experience problems with servers who don't support piplelining. I made this change earlier today and, so far, I haven't noticed any problems. But, just to be sure, you can probably safely skip that one if you're uncomfortable with it.

That's it. Firefox is now ready to power your web experience in proper fashion. Enjoy!

Saturday, September 18, 2010

Oracle officially ends the OpenSolaris project. Is MySQL next?

While the OpenSolaris board dissolved itself in August, the final blow to the open source operating system seems to have been delivered quietly and inadvertently by a leaked Oracle memo. While the memo does deliver a death blow to OpenSolaris, it goes on to say that Oracle's commitment to the Solaris OS remains strong, and that users of traditional (read: paid) Solaris have nothing to worry about. That may be true, but the ending of the OpenSolaris project is yet another indication of Oracles distaste for everything open source and leads us to wonder, is MySQL next?

With a paid OS under its belt, Oracle had no incentive to keep the OpenSolaris project alive. In a traditional software company, open source cannibalizes profits because the developers make their money by selling the 1's and 0's that make up the software instead of the services surrounding it. Why would Oracle continue to support a project that takes away from its paid software model?

There's absolutely no reason for them too.
It makes good business sense to kill OpenSolaris.

That should make those of us who rely on MySQL very nervous. Oracle makes the bulk of its money from the Oracle database, a competitor to Microsoft's SQL Server. MySQL, much like OpenSolaris, cannibalizes profits from the Oracle database. Every time a company chooses MySQL and open source, Oracle loses a potential customer. Economically, it makes no sense and I suspect that, as I write this, Oracle is sharpening a very large ax that will be used to take the head off of MySQL very soon.

"But what about the community?", I hear you say, "Certainly they won't let Oracle kill MySQL!" Here's a dirty little secret of the traditional software industry: they don't care about the community. They care about paying users, contracts, and seats sold. Communities don't pay the bills. Communities take up time that could be used to make more money. Yes, I realize how wrong that statement is but that is exactly how most traditional software companies view the concept of community.

The writing is on the wall. MySQL's days are numbered. It's only a matter of time before Oracle either kills MySQL completely or removes the open source licensing around it and offers a paid only version. But Oracle knows that the majority of MySQL users aren't going to translate to paid users. They're small time developers sitting behind a terminal hacking together code for a cool new web or open source application. They won't pay. What about those who are hosting small websites using MySQL? Nope, they aren't likely to pay the price Oracle will probably demand for a paid version of MySQL. That leaves only the corporate world and there's just not enough of MySQL there to justify a huge effort spent on continued development. It would make more sense to transition them all to Oracle DB.

I hope I'm wrong. While it has its faults, MySQL is definitely one of the best RDBMS out there and it would be a shame to see it go the way of OpenSolaris. But I'm afraid it's going to go that way very quickly. It's obvious that the main reason Oracle bought Sun is because it wanted one single technology: Java. In fact, Larry Ellison said that Java was "one of the most important technologies Oracle has ever purchased". He didn't mentioned Solaris, he didn't mention MySQL. It was Java they wanted. Everything else, is fair game and Larry Ellison has a really big gun.

Thursday, September 16, 2010

Why isn't Linux on grandma's computer?

We've been hearing about the 'year of the Linux desktop' for about five years now. At the beginning of every year, usually coinciding with a major release by one of the distributions, pundits come out in blogs and on tech news sites and declare that finally, after all these years, Linux is going to take its rightful place alongside Windows and Mac in a trio of absolute goodness and light.

But when I turn on my grandma's computer, it's Windows or Mac I see and not Linux. It's never been Linux. My grandmother doesn't even know what Linux is. Neither does my mother or her friends or very many 'average' people I know. It's a bit hard to see how Linux is going to take over the desktop when Joe Consumer doesn't even know what "a Linux" is, isn't it? And that's why it's so silly to keep declaring year after year the year of the Linux desktop while ignoring the glaring problem that keeps that elusive goal at bay: software.

Before distributions like Ubuntu and Linux Mint came along, Linux faced a tough hill to climb. Not only was most of the software people wanted absent from the platform but the damn thing looked ugly and didn't support half of the hardware on the market. Then along came Ubuntu and its ilk and changed all that. Now, it's fairly easy to get new hardware to run on a Linux system and the user interface is as polished, if not more so, than Windows or Mac. But the software still isn't there.

I can't count the times I've heard professional Linux software developers say such silly things like "I don't care if anyone uses it, I program to scratch my own itch!' Obviously, while some programmers do indeed develop software just to scratch a personal itch, having this general attitude permeate the community as a whole is an obvious problem. If no one cares if anyone uses the software or not, they don't put as much work into producing a polished, slick, easy to use application. Where does that leave the average user? On Windows or Mac, that's where.

Cononical and Mark Shuttleworth have taken a lot of heat lately because of the amount of actual code the company contributes to the Ubuntu distribution. But Cononical has contributed more to mainstreaming Linux than any other company in the market because they've focused on where it counts: marketing and the user experience. Ubuntu looks good - really good - and Cononical has put a lot of money behind marketing it as the distribution your grandmother could use and, you know what? I could actually see my grandmother using it!

Mark Shuttleworth understands the importance of creating good software. He understands, and pushes it down through his organization, that functional is not enough. People will choose a beautiful piece of software that kind of meets there needs over a crappy, ugly, piece of software that meets them fully. The experience matters as much as technical correctness. In fact, Cononical has an entire team dedicated just to the user experience. That's what they focus on. That's it. Nothing else.

I've long held that the main thing holding Linux back from the mainstream is software. In fact, it's not just the main thing, it's the only thing. Joe Consumer doesn't care that there are thirty-seven versions of some scientific tool used in an obscure academic discipline that he's never heard of. He doesn't care that your cash flow management program technically works after he's had to spend an hour tinkering with scary looking .conf files that, for all he knows, might just break his system. No, Joe cares that he can't just put in a disc, click a few buttons, and start using his software. He wants the Windows and Mac experience. He wants to spend more time using the software he bought or downloaded than configuring it or downloading dependencies because the developer didn't include them so that the user could experience 'freedom'. Users don't want freedom. They want working software. When your user installs your software and he has to go and download other things before it works, your software is broken in that users mind. It's not freedom, it's broken.

I don't believe there is any room in the Linux world anymore for software developers who 'don't care'. You should care because the more people adopt the platform, the more hardware vendors will support it, and the better the platform will become. Linux has moved beyond its pot smoking free love days and has grown up into a rather respectable adult.

It's time Linux developers do the same thing.

Linux softwared development without the headaches

I've been a professional software developer for the better part of fifteen years. During that time, I've developed software for Windows, Mac, Linux, and even good old BSD and other traditional Unixes. Depending on the platform, the experience ranged from an absolute joy where I felt like going home singing every day to a hellish nightmare where I spent my lunch hour devising ways one could successfully hang themselves from a cubicle wall. The tools on these platforms were all over the place. Some had nice UI designers and easy to learn languages (Windows with VB and C#, for example) and other provided much less than...stellar and welcoming experiences for developers (like Mac and BSD). So, for the most part, I tried to stick as closely to my safe little Microsoft created ecosystem: Visual Studio, Microsoft Windows, and VB or, more recently, any of the .NET languages.

Slowly, and thanks to a bunch of people who gently nudged me in the right direction, I began to see how damaging proprietary system could be to a technology ecosystem and began exploring doing more open source development using open source platforms. This, in 2002, brought me to Linux and I fell in love. Here was a platform that worked well, was stable, and while still a bit rough around the edges, made my job considerably easier for most things.

Except developing software.

So for the last nine of ten years, I used Linux on and off, developed a few applications in languages like Python or Java, but still stuck to my cozy Windows world. I was happy, I thought, and while I didn't like the idea of closed systems, the ease of developing applications on Windows was enough to keep me drunk on the proprietary wine that Microsoft was much more than willing to keep providing me. But again, I found my interests drawn to Linux and open source and simply couldn't seem to walk away from it. But what about software development? I really didn't want to give up my productivity just for the sake of saying 'I work in open source'. There had to be a better way than packing widgets manually and having to draw layouts on paper before writing code.

It turns out, there was and it was from a little company that lived right in my backyard called REAL Software. REAL Software is an Austin Texas based company that develops an incredible product called REAL Studio. REAL Studio implements a language called REAL Basic. REAL Basic is a fully object oriented language that just about any VB.NET developer will be able to pick up in a weekend and immediately become productive.

Working in REAL Studio is amazing. It's as close to Visual Studio as you're going to find, allowing you to visually lay out your user interfaces, write code behind by simply clicking on a widget, and has just about everything else you'd expect from a modern language. Best of all, it runs on Linux, Windows, and Mac and can produce binaries on any platform for any of the others. Using REAL Studio, I can develop a piece of software on Linux and with two or three clicks create executables for Linux, Windows and Mac. How sweet is that?

It doesn't stop there, though. REAL Software announced a few days ago that they're taking on both the web and the iPhone by creating a version of REAL Basic to target these platforms and make developers more productive. Gone are the days of ASP.NET or PHP, CSS, HTML, and JavaScript. Everything for your dynamic web pages can be done right in REAL Studio and deployed to just about any web server. See the video at the end of this article for a demo of what REAL Basic for Web Development can do. iPhone development is going to be just as easy. With the relaxed licensing Apple announced a few weeks ago, REAL Software was able to create an incredible version of REAL Basic for developing iPhone web apps and, in the near future I hope, native apps that live in the app store.

Needless to say, I'm hooked. I can now develop fully cross platform software without the hassle of pouring through multi-hundred page class referencing books for Java or using a scripting language that just feels kludgey and really wasn't made to design desktop applications anyway. I'm immediately productive and there's really nothing I could do in Visual Studio that I can't do in REAL Studio.

Now, don't get me wrong, there is a learning curve with REAL Basic. While it's pretty close to Visual Basic.NET, it's not verbatim and you will have to learn a few new conventions. But mostly, because it's a true OOP language, all of the concepts and constructs will be very familiar to you right off the bat. A half decent developer can easily pick up a copy of REAL Studio right now and have a complete application deployed on all three platforms by the weekend. It's that simple.

So I encourage those of you who are looking for a true cross-platform tool to check out REAL Studio. I think I can honestly say that my only regret is that I haven't been using this software for the more than a decade it's been out. I've wasted my time with Java and all the other headaches associated with cross-platform work. This is the way it should be.

I doubt I will ever look back.

VIDEO: REAL Studio for Web Developers in Action

Wednesday, September 15, 2010

Why I'm abandoning Windows Phone development and moving to Android

I'm a fan of Microsoft. I believe the company is filled with driven, bright, creative, people who are passionate about the technology they create and use. I've gotten behind Microsoft on just about every business initiative they've pushed, up to and including Windows 7. I mean every one - including Vista. But the one initiative I simply can't get behind is their new push to 'revolutionize the phone' with their upcoming Windows Phone 7.

I've been a Windows and Windows Mobile developer for years. Each iteration of the software brought new challenges for developers but the opportunities they presented always outweighed the pain it required to make the necessary changes. Making those changes always pushed developers to higher revenue, newer markets, and more interesting applications. Unfortunately, such is not the case with the new Windows Phone. Not even close.

From the UI to the development methodology, everything about Windows Phone 7 just feels 'wrong' and I have no desire to watch Microsoft make another painfully public blunder while trying desperately to reach the mobile market. No, I've reached the limit of what I can take and I'm cutting bait for another camp.

Android has just about everything a mobile developer could want: good architecture, clean, well defined coding practices, great hardware, a strong commitment from hardware manufactures, and an incredibly hungry buying public. Anything Android is hot right now and it seems to only be getting hotter. I suspect the platform will catch up to, if not overtake, the iPhone within the next 2 years unless Apple is brilliant and perfect with continued innovations.

With all the positives surrounding Android, it's hard to see why I'd go anywhere else. Sure, I've not worked in Java for about 10 years but it's straightforward enough where I'm sure a week of hacking will bring me up to speed. I'm once again excited to see a situation where the pain is worth the payoff and I'm putting my eggs all in the Android basket.

Will I ever go back to Windows Phone? Maybe. If Microsoft can show that they are brilliantly executing a consumer stratagy that makes sense, if they can do more than wander around the mobile market like a lost puppy looking for a home, I might include Windows Phone in future development. But I have a feeling we're a long way from that happening if what I've seen of WP7 is any indication of the 'state of the art'.

Is this the beginning of my migration away from Microsoft? I've long said the only thing that kept me on Windows was that I could not develop Windows Mobile applications on Linux. With that barriar gone, I really have no reason to stay on the platform anymore. I've already replaced Vista with Ubuntu on my laptop and am using Monodevelop to develop both Windows and Linux desktop software. With a new focus on Android development I might, at long last, be able to kiss Windows goodbye for good.

It's been a great ride Microsoft. Prove me wrong, please! Come back strong and standing tall. Kick the living crap out of Android and iPhone and give me a reason to be a believer again. I'm willing to drink the Kool-Aid, I just need a little sweetener in it.

Monday, September 6, 2010

The Iranian Struggle has not Ended

As most of you know, I was heavily involved in the foreign support of the Iranian presidential election protesters effort last year. It was a hot issue that got a lot of media attention. For about three weeks, you couldn't turn on the television or visit a news website without finding multiple article or reports of the latest bloody crackdown of the Iranian government on its citizens. Ahmadinejad had illegitimately seized power and there wasn't anyone who was going to take it away from him. In true dictator form, he began the systematic arrest, abuse, torture, and killing of anyone who dared raise their voice to speak against his regime.

But that didn't silence the people of Iran.

Night after night, thousands of people took to the rooftops and could be heard shouting "God is great!" in an effort to show solidarity with each other and to send a message to Tehran that even the mighty Ahmadinejad could not tread past a certain point. More arrests were made, more torture was done, and more innocent Iranians died. Then, almost as suddenly as it all began, it was over.

No news coverage.
No newspaper articles railing against the regime.
No flood of tweets hitting Twitter or messages going over Facebook.
It was almost as though the month of bloodshed had never happened.

But it did happen and it continues to happen to this day. Though we don't see it on the news and don't read about it in the papers, the struggle for freedom continues unabated in Iran. People still gather in the streets to protest the dictator, people still take to the rooftops from time to time, people still exert their human rights every single day even in the face of unspeakable brutality. And, yes, the brutality continues just as unabated as the protests; just as brutal as July 2009. But, now, the world seems to have forgotten. Or is it just the United States?

It would be difficult for an American citizen to find much out about what's going on in Iran right now. With news of the Tiger Woods divorce, sport scandals, and Paris Hilton's drug problems, I imagine there just isn't much time left to cover things that most people don't care about. Things like innocent people being beaten and raped and murdered. Things like seven month old children being aborted so that their mother can face execution because Iranian law forbids the execution of a pregnant woman. No, those things take a back seat to our overriding desire to be protected from the reality of our modern world.

But the struggle continues. Brave men and women are still fighting for their freedom in Iran. They are still hell bent on being a free, open, democratic nation. Even in a land where many have never tasted freedom, it burns in their hearts like a read hot poker tearing at their very skin to get out. And it does get out. And it will get out. Because you simply can't keep a freedom loving human in chains. It doesn't matter how much you beat them or how many guns you have, they will find freedom or die seeking it. Maybe that is the ultimate freedom.

As Americans, we tend to forget those who don't enjoy the same freedoms we do. We can't imagine how a struggle 10,000 miles away could possibly affect us. But it does. Because every person that dies at the hand of Ahmedinejad or dictators like him kills a little spark of our collective humanity and a little bit of the hope for freedom in someone's heart. We cannot sit idly by and allow our brothers and sisters in Iran to fight their fight alone. It is time that we stand up and let our voices be heard shouting along with them - every bit as angry and pissed off as they are. It is time that we send a CLEAR message to Tehran that we, the American people, DO NOT accept an illegitimate, abusive government just because our cowardly leaders in Washington do.

It is time that we put the words "brother and sister" into action because, in the end, that's exactly what we are. And I'll be damned if anyone is going to steal freedom from my family.

Friday, September 3, 2010

Sprint still has a long way to go with customer experience

For some reason, mobile carriers just don't 'get it'. They're not great at providing a good mobile experience with their constantly dropped calls and iffy reception and they're even worse at providing an online experience. Some carriers do better on the mobile side than the online but both can be equally maddening. Take Sprint, for example.

I was a happy T-Mobile customer for over 5 years. I paid my bill on time, upgraded my phone between upgrade cycles to stay current, and spent a bunch of money with the company that I didn't really have to. Then the day came when they messed something up on my account and added an extra $479 to my mobile bill. Thinking they were an awesome company, I called them up for a solution. There was none. After hours of negotiation and being transferred from department to department, I was told I'd have to pay the bill or my service would be disconnected. Thanks for your 5 years of good business, customer.

Needless to say, I paid the bill but I also paid the early termination fee to be let out of my contract with T-Mobile. After 5 years of friendly relations, it only took one big screwup worth under $500 to send a loyal customer packing. Good business, huh?

So I switched to Sprint. They were cheaper, had better coverage, and, since Dan Hesse had taken the reigns as CEO, I'd heard their customer service had gotten much better. Still, I was a bit wary because they always seemed like a struggling company to me. They didn't have the newest phones and interacting with customer service, I was told, would make me feel like I'd just spent some quality time with my local used car dealer. But the price was cheap, coverage was there, and so I went for it.

In the year that I've been with Sprint, I've never had a problem with them. Ever. And the few times I have had to call customer care, I didn't feel dirty afterwards. Life with Sprint was indeed good - especially the incredible coverage! No dropped calls, no 'out of service' notifications. Not a single time in the last year. Life was as perfect with Sprint as I imagine it could be with any mobile provider.

Until today.
All I wanted to do was ask a question on the community forums.
I couldn't remember my password.
God, help us all.

On most sites, recovering a password is simple. Put in the registration email address and they send you either a reset link or a temporary password. Three minutes max and you're ready to go. Oh, if it were only so easy with Sprint.

First, I was told I didn't have a community account and needed to set one up. The lack of an account was confirmed by my being allowed to register an account with my email address. When I was done, I was told to go to my email and confirm the account to activate it. No problem, click on a link and I'm good to go. Everything looked fine until I actually went to post something to the forums.

When I clicked on 'Start new Discussion' I was told that I had an account under another email address and I needed to change my email address on this NEW account to the email address on the OLD account. Umm...ok. Off to the account screen I go. Of course, I couldn't find anywhere that had a different email address so I was left to wonder what happened? I tried to post again, same problem. So maybe I'll change the address associated with the whole account. Maybe that will make it work. That might have been a good idea if the site would actually work. Though I could access the place to manage my account, the site would not save my information. Just totally ignored the button click.

This went on for the better part of an hour until, finally, I called Sprint and someone helped me through fixing it. I'm not sure what they did, if anything to make it work, but it does now and that's what matters. Still, I am left with an incredibly bitter taste in my mouth for the entire experience and know that Sprint could have done much better.

First, they should have alerted me that another account was already registered to my email address and given me the option to recover that account instead of allowing me to create and entirely new one. That would have been much easier than pushing me into an endless loop of 'you gotta do this, now this, no this".

Second, they should test that the site actually works with major browsers. I tried with Chrome and Firefox and the site failed on both. A good web developer at least knows the basics of testing, right? I mean, really, it's not that hard.

Third, they shouldn't have uselessly introduced SMS messages into the cycle just to give me a false sense of security. 'For my security' they sent a eight digit number to my phone that I was required to enter before I could proceed. Of course, this required me to retrieve my phone, wait on the text message (which took 17 minutes to come) and then carefully enter the code. Didn't me knowing the username and password for the account AND validating that I had actual access to the registered email account prove I was probably who I said I was?

Next we come to passwords. When I chose my username, it was obviously some variation of my name. My password was not. The original password I chose was Cx119^332, which means something to me (believe it or not) but no one else. To that, I got a lovely error saying "Your password must contain at least 8 characters and not be the same as your username". Huh?

I went through 5 similarly cryptic passwords receiving the exact same error every time. Finally, I settled on a six digit password that it accepted. So much for input validation.

The best part of this entire thing is that it's not actually over yet. As I write this, I'm waiting on yet another SMS message that will let me 'do more' like pay my bill online and see usage details. We need this SMS, of course, for security since username, password, and validated access to the registered email account is not enough.

This is an example of an EPIC fail. In the end, had I been able to, it would have been easier to simply call customer service and have one of them do it for me. For a company that really wants you to 'do it yourself' they sure as hell make it as hard as possible.

I hope someone at Sprint reads this. I'm not trying to single Sprint out because they are, by far, not the only mobile provider who has problems with their online experience. But for a company that is focused on customer service and is struggling to keep market share, you would think that they'd make it a bit more convenient on customers. You're not AT&T, Sprint. Hell, you're not even T-Mobile.

Your customers deserve better.