Saturday, October 29, 2011

Facebook Graph

I've been meaning to get around to hooking up Facebook to something so I can mess with it a bit. Turns out there is a grails plugin:

This had me up and running with Facebook in about 30 minutes, maybe less. I now have myself logged in to Facebook on my app and it pulling my friends list and basic profile information.

Scary, and cool.

Tuesday, October 18, 2011

Where is the internet I grew up with?

Following a short post on g+, and a short rant on Facebook, I decided to fill out the idea a bit more.

Where is the internet we grew up with?

For those of us in our 30s, the internet was fresh and shiny in the late nineties (for some, earlier). Altavista was a search engine of choice, eBay and Amazon were in their infancy. Hotmail was just getting serious and Facebook had probably not really even been thought of. Like many others, I had a geocities page, and life seemed good. It was the new digital frontier. Rough and ready, available to be shaped by anyone who could come along and take ahold of the new emerging technologies.

Before long, eBay and Amazon become the power-houses they are today. Many other internet ideas came and went, most of them because they just weren't all that compelling, some because of bad business management.

Here we stand, looking into 2012. What is the internet today? Who's hot, and who's not?

Facebook, Twitter, Flickr and Tubmlr, today's engines of "Social Media". eBay and Amazon, what feel like two of the last vanguard of the old ways. Amazon always had a great business case: sell stuff cheap through economies of scale, great shipping and a superior customer experience. People can buy anything they want in a few clicks (1-click maybe), and have it at their door in hours. Gone are the days of 28 days for shipping. Instant gratification for just about any kind of thing you can want (more or less). eBay, once a giant auction site is pretty far down the slope of decline. They are now charging such high fees, and their site has been encumbered with so much commercial content that regular Joe auctions are buried amongst the dross. Wierdly, they feel like they are trying to be Amazon, except that Amazon is already Amazon, and does a darn good job of it. In my opinion, unless eBay wises up fast, they are going to end up holding a bag of stuff with nowhere left to go. People using eBay are complaining more and more, and shifting ways of selling things to other venues like Craig's list. At this point unfortunately, there doesn't seem to be much else in public view that presents as an alternative to eBay. It is hard to create a vacuum in such a large market, but eBay is pulling the air out of what used to be their core business model. If that vacuum gets to a critical level, a whole slew of new blood will enter the market, and eBay's dominance will shatter under the pressure their vacuum has created leaving them with what exactly? A not-quite-as-good-as-amazon for sale site?

Flickr seems to be doing okay, but it's photo presence have been significantly eroded by Facebook itself and other sites like Picassa and for serious photographers, pay sites like SmugMug who do a much much better job than Flickr with content management, presentation and semi-pro features.

For many, Facebook has become the internet. Twitter is an add on, and Tubmlr a fascination.

I don't know how things are at Twitter financially, I'm not up on that so much, but I hope things are holding up for them. It's a neat medium, but I'm not sure many people understand why. I think it might be that 140 character limit. It's a nice short tweet. Not intrusive, something you can glance at without being completely distracted from whatever else you are doing. It's the essence of tl;dr. Perfection for a world with ADD. I hope they don't cook what I believe to be their golden goose.

Facebook is in a precarious position. Sitting atop the chaos of the modern age. The hate for Facebook is pretty big, and whilst Google plus impressed some people, there hasn't been the mass exodus that many had hoped for, or predicted. Google screwed up the name situation. I feel they had good reasons, but ultimately, it shot them in the foot. I know that many of the technorati, the people who could make or break it, are the same people who are idealists, and who care about those kind of details. These are the people who still remember the way Facebook has betrayed them year over year. The name situation made them feel that Google was incompetent and didn't "get it". With them deserting in droves, Google Plus may never be more than a sideshow.

I have to say that so far, I haven't really embraced Tumblr. My daughter has a Tumblr, and so do a few other people I know. I forget if I have created one or not.

What does the next decade of the internet look like? What kinds of things will shape it? Some say the API revolution is a big deal. I'm not so sure. APIs require skill to use, and the number of students taking computer science courses at universities has been dropping off. The software industry was one place the 99% were promised a bright future, and honestly, it's still one place they might be able to get it. The API trend I worry is something being driven by the big players. The corporately dominated players. Those that can afford to do API things without compromising their core business model.

What is going on to combat this movement towards utter corporate dominance of the internet of the next decade? I think there is still room for a few garage-built systems to make a hit. People aren't taking a leaf out of Apple's book. Make new technologies, create new revenue streams, future-proof your company by always living in the future. Until they do, the bright and the young can always be a step ahead. The question is if their one-step ahead is really one-step ahead, or one step sideways.

There are some innovations in the software space that are helping with this, things like Ruby on Rails and it's software cousins of a similar ilk. These systems are making it possible for the garage bands to make their dreams happen quicker and easier. I'm concerned that some of this 'innovation' is more like a step sideways than a step forward. People are exchanging tried and tested methodologies for bleeding edge systems relying on "the cloud" to build their ideas into reality. This wouldn't be so bad, but the big promise of the cloud, on demand scalability, is an empty promise for DIY programmers. To achieve real scalability takes knowledge and experience, especially within that environment. For Joe average, this is not present.

The young and the bright can be a step ahead, or a step sideways, but with current technology, hitting a glass ceiling happens too fast. With so many internet users, it takes only one tsunami to hit the shores of your fledgling system to bring it down, where too often it will stay down with no path to recovery. What used to be a quick incremental increase in traffic is today a massive exponential rush. A site can go "viral" in 24 hours or less, and go from a few thousand users to a million people crushing the system. Without experience, it's pretty hard for Joe average to deal with that. The bar to enter the Cyclone that is today's internet has become very high indeed.

How do we solve this problem? I think for some that is the $64,000 question. How do you scale with such rapidity? Systems like MongoDB are being pushed as potential answers. They work in the cloud (more or less), and offer what seems like a good proposition. Unfortunately, they can't do 80% of what a traditional SQL database can do, and once you start growing, that 80% becomes really important. Things like reporting and data warehousing that can help you understand your website users who are now your customers. Other technologies like Map-Reduce are impressive, but most folks don't understand the real value-proposition for Map-Reduce, and worse, most Joe average programmers aren't fluent in the ways of functional programming. Heck, I know very few CompSci grads who can put together programs in a functional style after a decade in the field working declarative systems in Java and others. Lisp and SML and similar are thought on with a level of slight revulsion, a bad college memory of what seems like an arcane way to do things.

So what now? I don't yet know, and that's half the fun! It's undiscovered territory, and no-one really knows what will happen next.

Friday, October 14, 2011

iOS 5 - 24 hours later

I've had iOS 5 in my hands on my iPhone for just shy of 24 hours.

What's it like?

Well, it's nice. The biggest things I've appreciated so far are the new notification mechanism, the reminder app and the upgraded bluetooth support. It also feels like the keyboard is more responsive and I get less key misses typing on it. It almost feels like it's slightly predictive, but it could just be my imagination.

The new twitter integration seems pretty nifty, I might use that, I did on my old phone here and there.

The upgraded bluetooth support allows my car stereo to display track information and repeat status on it's LCD screen. It's a nice add that allows me to see what random track is playing now my iPhone decided to grab a huge random chunk of my library when I last synced, somewhat to my surprise, and a bit to my dismay. I probably should have checked the settings a bit more carefully!

The notification mechanism is a really good upgrade. The pull down is easy to use, and with weather right there, I think they made it excellent. Stock ticker is probably nice for some, but a bit gimmicky for most I'd imagine.

The reminder app is something I was looking forward too, and it did not disappoint. I set up a reminder to tell me to go pick up packing supplies when I had dropped my daughter off at school. It was easy to set up a location based notification, figured it out in a few moments. The one thing that I couldn't see was how to trigger a notification based on an arbitrary address. It seemed like you could only do it based on addresses in your contact list. That was a bit annoying. Had to add the local school to my list to make it work.

The news-stand app looks like it could be cool, but the two publications I looked at had a 'free' news-stand presence, but required a subscription to get any good content. I don't mind paying a few bucks up front, but an ongoing subscription for more than the print edition per month, that's asking a bit much.

Instant on camera is awesome, but my current case somehow managed to get built without a camera hole. I did have another case, and although it had a camera hole, it lacked any other good features save the colour, so I switched back. Once I get a better case, I'll probably use it often.

One big thing that still feels missing, or it's there and I haven't figured it out, is the ability to suck in a phone number or an address from Safari. If I highlight an address or phone number, It should give me the ability to create a new contact. It does give me the ability to call the number, but if it can do that, why can't I create a contact from that location?

I'm not sure, but it also felt like it was chowing down on my battery a bit much, though that could be more because I was using the wifi hotspot for a bit last night, and that always takes a pretty good toll.

I didn't notice yet, but in iOS 4, switching between messaging and phone was pretty annoying. I hope they made that a bit smoother. The number of times I want to call someone who I've just been messaging is pretty high, and I don't know why it's not easier to do so. Either that or I'm just missing it.

iPhone 4S? Well, if I was in the market for a new phone, there's no question I'd get it. But at $700 new, I think I'll have to wait for iPhone 5, or until my contract lets me get a new phone as part of the deal. I'd get it just for the upgraded camera to be honest, but for $700, that would have to be a damn fancy camera.

Overall, iOS 5 has not disappointed. Features are easy to see, intuitive, no manual required. Apple has again delivered us a piece of technology that is beautiful and functional. Features we can use, and aren't so hard to work with, we get frustrated ten seconds after pulling out the phone. When I think back to my LG touch-screen phone, the iPhone is a world apart. It costs me three times more per month, but I wouldn't switch back unless I had no other choice.

Wednesday, October 12, 2011

On Steve Jobs

I'm writing this more as a meta-post than a post, in and of itself.

I could wax lyrical about the way Jobs and Apple has impacted my life, but it would be the same as thousands of other stories, and therein lies some of what I'm interested in talking about.

A number of criticisms have been leveled at Jobs, and Apple. Some of the favorites are the walled-garden haters, the overpriced gadget shouters, the Jobs-is-an-evil-capitalist hecklers and the what did Steve Jobs ever do for me crowd, who need to go watch some Monty Python and think about things a little more carefully.

Apple's walled garden, or so it's labelled is a remarkable feat of FUD. The garden that is wide open, that you can enter, or leave at any time you please. Buy an iPhone, if you hate it, then buy something else. This walled garden that includes Netflix, and vimeo, most major TV networks, internet radio, and even free software. Your walled garden is run on an open source operating system, and an open source browser. Your walled garden can export files to Excel or Word and that can browse any website. Look at your own garden, be it Microsoft or Linux. You are more walled in than those in the Apple garden! IE, constantly lagging in standards, Linux applications that can't or won't important foreign file formats properly, Windows that has no app store, no way for you to share your idea with the world easily, Linux, that requires amazingly arcane knowledge to operate on any long-term basis successfully.

Apple's overpriced gadget shouters are apparently missing a fundamental principle of the free market: things are only worth what people will pay for them. If Apple's gadgets were truly overpriced, then very few would buy them. As it happens, Apple's phones still make up a very significant portion of the market, despite making no more than two models at any given time with one Operating System variant. Two models vs the hundreds of devices practically given away by every network provider out there. Two vs 100s. I can't imagine how anyone can label this is anything short of amazing. This is Thermopylae all over again, except that as of today, the Spartans are winning, and aren't looking like being shaken any time soon. Despite giving consumers less choice and a more expensive device with fewer carriers, Apple's product is wildly successful. This doesn't seem like the mark of an overpriced gadget. We could run the same comparisons on the rest of the Apple product line. Walk through an airport sometime and observe the number of folks carrying a MacBook of some kind. How many other 11" devices are there that come close to the MacBook air for flexibility, power and usability for a business traveler?

Steve Jobs has been both applauded and demonized by the Wall Street capitalists, and mostly for the same things. He doesn't not create product to drive profit. Every model we have today for building stuff say you should increase profits by providing the widest appeal at the lowest cost. That you don't bring out new products that undermine your own markets. That your R&D funding should shrink relative to your overall cost structure. Steve Jobs broke every single one of these rules. If Steve Jobs is a rampant capitalist, then we have to seriously reconsider our notion of capitalism as it stands today.

As for the "what did Steve Jobs ever do for us" crowd, I refer you to the Monty Python sketch from the life of Brian which had a similar theme about the Romans, and more ironically perhaps, the inane arguing amongst the factions of freedom fighters over such petty things as their names. Apple has driven personal technology innovation for a decade. I don't know precisely which things they invented themselves per se, but they did as least identify products that had the potential to be game-changers, and bring them to market more quickly and with more elegance than anyone else. The early iPods with their touch-dial interface and remarkably tiny hard drives. The iMac that has shown again and again the power of a computer you can purchase, set on your desk, plug in a power cable, and increasingly fewer others, turn on and start doing cool stuff out of the box. The bundled software, the usability, these things have still not been achieved by any other vendors. If they were easy to do, then why aren't both Windows and Ubuntu doing better? They've had almost a decade to consider the situation, and are still failing miserably. The Apple TV, which has a level of integration and simplicity that made this kind of device possible, and usable. The courage to put IPS displays in all its devices, something that is still lacking on other manufacturers, and one reason that Apple devices have been considered overpriced gadgets. Steve Jobs gave you a screen that was capable of displaying your photos and videos as they were captured, without awfully over saturating them and driving up contrast, but just as they are. I'm constantly astounded at how much I have to exaggerate features in my photographs for those will 'normal' screens.

Walk into a modern office building. Listen for awhile. Sooner or later you'll here what happens when a major meeting approaches. The synchronous chime of the iPhones all indicating to their owners that a meeting is approaching is almost eery. Many of them never having had their defaults changed provides an audible witness to the impact that Steve Jobs and Apple have on our lives today. The very point of Apple's walled garden is to get the minutiae out of your way. Let you do what you love to do, assuming it's not theming your window manager... again.

I've heard the 'Macs are for creative people, not for office or development'. In 2011 this angle is ridiculous. Out of the box, the Mac comes with development tools for several major languages, including Java, Python and Ruby. With an Xcode download, you get the full suite of compilers and tools if you really really want to build C, C++ or Objective-C applications for a fraction of the cost of Visual Studio. Apple's numbers and Pages are much easier to use than Microsoft Office, and their tablet counterparts are a demonstration of what is possible on a tablet once you rethink and realize that there is no longer a viable pointing device. The amount of time I've had to sit and troubleshoot a fellow developer's Windows environment because something just stopped working is horrible. It feels like many of them have opted to get a Mac out of embarrassment as much as anything, and didn't live to regret it.

You can't walk down the street, ride the tube or sit in an office without seeing their devices, to deny the impact that Steve Jobs and Apple have had on technology just seems like it can only be the vantage of a blind man.

I don't love Apple, I don't worship Steve Jobs, but I'm not blind either. I have four Apple devices within reach as I write this, my high-end PC laptop gathering dust in a corner somewhere, largely forgotten.