Thursday, October 23, 2008

Changing the mobile industry, one device at a time

Rich Miner, Group Manager of mobile platforms at Google presented this morning. His presentation was titled, "Changing the mobile industry, one device at a time." The content of his presentation was largely focused on Android, and not the TMobile G1. Rich first set the stage of why an open platform, Android, was long overdue in the mobile market. Using a lot of his mobile related startup experience (prior to joining Google) to drive his argument, Rich argued that openness of mobile platforms is the primary catalyst for the tipping point of the mobile revolution. 5 years ago, it was nearly impossible for a startup developer to get their app onto a mobile phone. The operators were simply too monolithic and closeminded to streamline the process. Paraphrasing Rich with regard to mobile operators, it takes 100 people to agree on something, but only 1 to say no and slow the whole thing to a halt. Another anecdote he mentioned was related to a push to talk service he was trying to get off the ground. The service was being developed on the Windows Mobile platform. His team actually found a bug in the Windows Mobile code. Upon approaching Microsoft to fix the bug, Microsoft indicated it would take 18 months to complete. Wow that is a long time. They must not be using the agile development methodology.

After describing why closed platforms have stifled innovation in the mobile market (something I absolutely agree with), Rich continued on to give all the reasons why Android fixes these problems.

Couple other gems from the presentation:
"Google sees 50 times the searches on an iPhone than any other platform."
When the first versions of Google Maps Mobile (written in Java) were developed, and Google was trying to convince the operators to ship the app with the devices, Google experienced a lot of grief and resistance. The operators indicated that even if the users loved the app, they suspected there were unspoken motives for Google wanting to distribute the app. In some cases, operators disabled the underlying service for Google Maps Mobile, so even if the user was able to install it themselves, it was unusable.

Full featured browsers on mobile browers - end of .mobi?

An absolute them from Mobile Internet World is there will only continue to be a heavy market penetration of full featured browsers on mobile devices. Consumers know how powerful their desktop browsers are, and they want nothing less on their mobile device.

This presents the question, is it even worth pursuing development of .mobi sites now? How long will they continue to be around? I think the answer is yes, it is absolutely worthwhile to have a presence in the .mobi space. For the next couple years, the majority of mobile Internet users will be using these scaled down browsers. While users do want the full desktop experience from their mobile device, it won't be for a couple years until the desktop experience on mobile has a majority share in the market. Until then, people need a site that is usable on their Motorola RAZR.

When I refer to .mobi sites, I'm basically referring to websites that are designed specifically for the lightweight mobile browsers of today, like the one you'd find on a BlackBerry.

Wednesday, October 22, 2008

Mobile Internet World - Day 2 - Afternoon

Mobile Internet World day 2 is just about to wrap up. Regarding the second half of the day, I heard from a bunch of speakers. I'll only capture the highlights.

First, I heard from Erik de Kroon of Vodafone. Vodafone is another network operator prevalent outside the US. There were two important points that I took from Erik's presentation: The main differences between the PC and mobile device with regard to distributing mobile content are that the entry point is very important (users don't want to type long urls on their mobile device), the business models are different, and finally there is limited reach on the mobile platforms due to the large fragmentation in the market. The other important point from Erik's presentation, is the large amount of work that Vodafone is putting into developing a widget platform for their mobile devices. It didn't sound like this platform would be open to developers for third party apps, but merely an easy way for Vodafone to distribute apps.

Next, we heard from Tony Lewis, VP of Open Development at Verizon Wireless. Right off the bat, Tony's first slide was a "safe harbor" slide. I had never seen one of these, but he passed it off as something everyone in the audience had seen. There was a bunch of small font text on the slide, but I think the gist of it was, don't repeat what you're about to hear. I'll keep this part brief, and restricted to info that is already public. One cool thing Tony mentioned, is that Verizon has these mobile cell towers that they can drive to areas with poor coverage. Also, Verizon Wireless really does have people driving around testing service (can you hear me now?). Tony also described the Verizon Wireless Open Development program. I'll let you go to the site to read about it, but OMG YET ANOTHER OPERATOR COPYING APPLE'S IPHONE DEVELOPMENT SITE!!!! It's so funny how fast these companies mimic eachother. It's a site with documentation and a community for developers writing apps for Verizon devices. Ok, enough on Verizon.

Next up, Marcelo Vieira, General Manager of OMAP at Texas Instruments. The guys from the hardware companies (like Intel and TI) have the coolest toys. Similar to the Intel Atom processor, TI has release a processor for mobile devices. As an example of its power, he was demo'd a photo album app on a mobile device (using the processor) that was easily and very quickly flipping through 8 megapixel photos! It was definitely impressive. Here's an interesting stat Marcelo mentioned:

In 2004, 15% of the handsets shipped were smartphones
In 2012, 35% of handsets shipped will be smartphones

So what's a smartphone? This question has been posed to be many times, and I don't think I ever gave an answer as accurate or succinct as Marcelo's. A smartphone is a handset with a high-level operating system. This makes a lot of sense. Just think of the functionality offered on RAZRs, and then functionality on a phone with, say, Windows Mobile. There's a huge difference. It's not just the QUERTY keyboard, but the nature of the software. Smartphones weren't the only mobile device that Marcelo talked about. There's an exciting new class of devices coming onto the mobile market, mobile internet devices (MIDs). Characteristics of MIDs include: boots up in seconds (not minutes), can go a full day's charge with a full day's use, impressive service, and uncompromised browsing. These are like mini laptops, not quite a laptop, but certainly more functional than a smartphone (with regard to Internet browsing). Finally, the coolest device that Marcelo discussed (but no demo :() is called the DLP Pico. It's a tiny projector that may be integrated or included with smartphones! Google it to check out the product page.

Next, I heard an okay presentation on near field communication. The topic of the presentation was attractive, "Mobile Transactions." Instead of meaning software based transactions, like mobile banking, it was much more focused around near field communication as a technique to use your cell phone like a credit card. Interesting, but not really up my alley.

After the presentation on near field communication, I attended a presentation on securing SMS messaging. SMS messaging (or simply text messaging) is extremely unreliable and insecure. Additionally, unlike email, SMS messages that are sent and received cannot be monitored for compliance purposes. Even with these limitations, data indicates that there will be 2.3 trillion messages sent in 2008. Obviousily, these are at the consumer level, not enterprise. Regarding the enterprise, a company called CellTrust has come up with a solution to secure SMS. Besides needing to subscribe to their service, a thin client is required to be installed on the consumers phone! That seems like a huge barrier of entry to me. Maybe within the enterprise and its devices that are managed by the company, one could easily roll out the software to their phones. This seems to be way too much of an inconvenience for a company to expect their clients and consumers to install an app on their phone, merely to receieve secure messages. I certainly wouldn't. Messages just aren't that important to me.

Next I heard a panel discussion on WiFi in the enterprise. Couple of interesting points here. It was suggested that any new WiFi rollouts in the enterprise should, without a doubt, include hardware to support 802.11n. There was also some interesting discussion around fixed mobile convergence. I'm still a little unclear on what fixed mobile convergence is. At the highest level, it's basically a way to integrate your mobile device and your other communication devices, such as your desk phone, and work voice mail. Advancements in wifi and related software will eventually enable this. It was the common consensus on the panel that 4G/WiMax will not replace WiFi, but they will instead complement eachother. WiFi is so cheap these days that there's no reason every electronic chip should come with an integrated radio to allow for connectivity.

The last panel of the day discussed mobile enterprise applications. This was slightly a disappointment. The CIO of Providence (yes the town in Rhode Island) monopolized the time by telling the audience how he set up a complicated network for his police force. While interesting, not really the type of information I was looking for. There were a few worthwhile points that came out of the discussion. Drivers for enterprise mobile applications need to come from a balance of the business and IT, not solely from either. The panelist from Yankee Group confirmed some of my thoughts, that college grads entering the workforce will make choices of where to work based on the company's enterprise mobile direction. Meaning, companies without a strong mobile direction will lose the best job candidates.

There's the highlights from this afternoon. I've probably skimmed over some of the details, but I do have some notes that go a little further below the surface. I'm not trying to go that deep on this post.

Mobile Internet World - Day 2 - Morning

The morning presentations just concluded. We heard from three people:
Emily Green, the CEO of Yankee Group
Russ McGuire, Vice President of Strategy at Sprint
Anand Chandrasekher, Senior Vice President of the Ultra Mobility Group at Intel

Emily's presentation was interesting, themed around what the Yankee Group calls Unleashing the Anywhere Network. The Anywhere Network is really a concept defined as a common platform, bandwidth, intelligence, seemlessness, and ubiquity. There are a few issues with mobility today that are holding us back from realizing this innovation, including: network limitations, device limitations, pricing problems, spectrum, and mobile operators. Even with these issues preventing huge jumps in mobile innovation, flat rate data plans have unleashed huge appetites for more mobile services! In contrast, despite these large increases in mobile demand, mobile revenues are in long term decline. Weird. Continuing on a theme started yesterday, Emily says that the mobile browser is the field to nourish to easily address the fragmented market. Mobile popularity is having a huge impact on the enterprise. Workers want connectivity. In fact, workers say that their personal technology experience is better than what they have at work. Additionally, 20% of employees say they would be more productive at work if their technology experience matched that of which they have at home!

Next up, Russ McGuire, Vice President of Strategy at Sprint. His presentation was a lot of marketing of why Sprint is so great. I'm not sure they're as good as he presented, but they do have two great innovations: dominating the click to talk market, and also the first wide spread wimax solutions in Baltimore (and Boston soon to come). It's funny to hear execs from non AT&T operators talk about the iPhone. I definitely feel a sense of jealousy that they missed the boat. He briefly talked about how successful the iPhone has been, and then mention some aspects of how Sprint has innovated to excel their products beyond the iPhone. Russ did mention an interesting point about a customer fear. Customers have a concern around unintentionally subscribing to a pay service when using advanced funcitonality on their mobile device. They are worried that clicking a link will accidently subscribe them to a service for which they'll be committed to paying for something, even though they were just "trying something out." I find this definitely to be true, especially when I had my Verizon Wireless RAZR. Maybe part of this was the poor interface. It was not clear at all when I'd be charged for clicking a VCast link, or testing out a game.

Finally, Anand Chandrasekher, Senior Vice President of the Ultra Mobility Group at Intel made a presentation. He called 2008, the year of mobility. According to Forrester Research, 1 out of 2 mobile internet users prefer full internet pages on their mobile device, not a mobile version. Consumers are aware of the experience they can get on their computer, and aren't happy that their handheld doesn't provide that. Anand introduced Intel's Atom processor, released earlier this year. It will continue to allow for next generation mobile devices. Atom powered devices will have computing power comparable to laptops circa 2004. He had some devices on hand, they were somewhere between smartphones and laptops. I think he called them, mobile internet devices (which he later clarified, not expected to cannibalize laptops or smartphones). He showed two Intel vision videos which I embedded from YouTube in earlier posts. Closing his presentation, he brought up a picture of the Carpentier vs Dempsey boxing match in 1921. Anand posed the question to the audience, "Does anyone know why this event was revolutionary?" Answer: it was the first sporting event to be broadcasted over live radio. This was really when radio transitioned from a medium for news and information, to a medium for entertainment. The following year, sales of radios doubled, and the year following that, they doubled again. Anand compared this with what he expects will happen with mobile behavior and usage.

Another Intel Vision video showing off the potential power of the Atom processor

WOW, this is SO Enterprise 2.0!

Intel's Ultra Mobile Concept Video

Anand Chandrasekher of Intel just showed this vision video of their Ultra Mobile technology:

The Weather Channel's Mobile Site

Good morning, day 2 of Mobile Internet World is about to start. Have you seen The Weather Channel's mobile site? The Weather Channel owns www.weather.com and thus their mobile site is http://weather.mobi
I heard from one of their employees yesterday that they're mobile website actually gets more hits than their desktop website! The kicker was that many of these hits are actually coming from desktop browsers! They suspect that people are prefer the mobile site because there is so little fluff there. The users only want the weather forecast, and that's what the mobile site provides.

Tuesday, October 21, 2008

Mobile Internet World - Day 1 - Afternoon

The afternoon at the Mobile Internet World was okay, not great. First I attended a panel discussion on the evolution of mobile devices. There were three panelists, an IBM employee, a Nuance employee, and a Qualcom employee, all of whom were very smart and well spoken. There were three insightful ideas mentioned in this presentation.

First, the idea that people want mobility in all devices, but don't really care about the underlying operators or networks. The simply want to be able to get pictures from their camera to their Facebook page, or get their most recently purchased book from Amazon onto their Kindle, or their most recently purchased iTunes song onto their iPhone. It seems that some devices do this better than others. The popularity of the devices that do it well should help competitors adopt the innovation.

Second, the advent of 4G networks will really push the idea of delivering services to users, independent of the device. Enterprises will cease to standardize certain desktop computers. Instead, it will entirely be up to the employees. Developers will get whatever high powered machine they want, and executives will get a highly mobile laptop. Regardless of the device, the same services will be delivered to each.

Finally, with regard to open versus closed mobile platforms, people (and open source software advocates) can argue all they want about how good open platforms are (such as Android or Symbian), but the fact is, the two most successful mobile platforms are produced by RIM and Apple, and subseqently the most closed and most expensive systems. Even though they are closed and costly, the users' love for these devices is still immensely high. (heck, I just switched off Verizon merely so I could own an iPhone :)

Next session was another panel entitled, "Device and Operating System Wars." On the panel was an employee of Limo, the Linux mobile foundation, and the director of marketing for deviceanywhere, a service that helps you test your mobile apps on many devices (more on this later). Probably the single biggest theme out of this discussion, was that operators (like TMobile and Verizon) are very hesitant to provide a device based on an open platform merely for fear that the user's experience will be negatively impacted. In my opinion, this is a very real fear. I think Android's success will help strengthen, or weaken, the fears of the operators.

In the last session of the day, I heard from Kate Walsh, an employee at the Yankee Group in charge of advertising for the Mobile Internet World conference. She described how the Yankee group leveraged an improved mobile website, as well as social networking platforms, to significantly increase the number of conference attendees from 2007 to 2008. Personally, I joined the Facebook group for the conference about a month ago. It was cool to see the other people going, but beyond that, I didn't really take advantage of it. She also placed presences on LinkedIn, Twitter, RSS enabled the website, and provided registration discounts to people who registered on the mobile version of the conference's website (darn, if I only knew). To me, these are obvious ways for cheap publicity, and nothing revolutionary. I'm glad the Yankee Group is eating their own dog food. It's no secret that these platforms are heavily used. Maybe it's just that enterprises are starting to understand that (and use them).

More to come tomorrow...

Mobile Internet World - Day 1 - Keynotes

There were two keynotes on day 1 of Mobile Internet World. First, Michael Bayle, Senior Director of Global Money Monetization at Yahoo spoke, and he was followed by Ian McKerlich, director of mobile web and content services at TMobile.

Michael's presentation was strongly focused on how to best advertise on mobile devices. It was certainly interesting, but I'm not really in the business of advertising. I did find that many of the topics he was talking about applied to general brand awareness on mobile devices, not just advertising. He first poses the rhetorical question, why aren't more brands on the go? Answers he posed are that the mobile landscape is too fragmented, the media is too small, and no clear definition of how start. On the otherhand, it's the perfect place to push your brand since it's hyper-personal. He cited that if you lose your wallet, it takes about 26 hours to completely report all stolen items. On the otherhand, lost cell phones are reported in an average of 68 minutes.

At this point, Michael made some joke about Sarah Palin's hacked Yahoo email. I think it was funnier that the Yahoo employee was joking about this, rather than the joke itself.

Other stats on the hyper-personal nature of cell phones are:
60% of married mobile owners won't share the device with their spouses
68% of teens won't allow their parents to see their phone contents
And finally 6 out of 10 people sleep with their cell phone (maybe because they use it as an alarm)

Next, Michael covers various examples of mobile advertising, and how they take advantage of this hyper-personal nature of the devices. Nothing too extraordinary. While he was wrapping up his presentation, he mentioned a unique anecdote: the hottest venture capital topic is that of mobile analytics.

After Michael concluded, Ian McKerlich, director of mobile web and content services at TMobile was introduced. This was probably one of the most interesting presentations of the day. Besides the hot news related to Google Android lately, he described some other innovations from TMobile. The first thing that jumped out at me, was that he mentioned that TMobile executives are required to serve a specified amount of time in the actual store fronts assisting customers (just like the people who help you when you walk into a TMobile store). I found this very innovative on behalf of TMobile. I think this would definitely help keep the executives grounded and focused that the ultimate goal of the company is providing the best experience to customers, on all fronts.

While overviewing TMobile's recent work, he mentioned two unique contrasts between mobile devices and laptops:
Mobile devices have the permission to interupt you in a meeting, laptops don't.
Mobile devices have the permission to know where you are, laptops don't.

Humorously stated, but pretty profound in my opinion.

Next, Ian introduced the TMobile devPartner community. To me, this looked IDENTICAL to Apple's iPhone developer community. Well, not "looked" from a visual sense, but provided with the same intentions. It's a place for developers to gather, find documentation, and provide apps they write for TMobile to distribute to consumers, JUST LIKE THE IPHONE APP STORE! I should clarify, these aren't just Android apps, these are apps that would work on all TMobile devices. There's a profit sharing structure also similar to iPhone App Store.

During the Q and A, I posed the question to him, is the TMobile devPartner community a rip off (phrased a little more politely) of Apple's App Store? And what lessons learned has TMobile observed from the launch of the iPhone?

While he was responding, I could detect the slightest annoyance about being asked about the iPhone, almost as if he was thinking, "do I really have to talk about the iPhone again???" He indicated that TMobile has been working on this community for about a year and a half, that they were disappointed that Apple beat them to the market with the App Store, but also encouraged since the App Store's success has validated their approach. During his response, he also said, "Grandma doesn't know what an application is." almost degrading Apple's terminology while describing why TMobile's approach will be better for consumers at large. One nice feature that he explained will be part of the TMobile's version of the AppStore would be that when searching for "NY Times." Users will not only get a search result for the TMobile native app, but also a search result that would direct them to the smartphone designed website for NY Times. I would find this very useful on my iPhone. I'd really like a way to be able to find websites that are designed for the iPhone, maybe Apple should consider integrating this with their App Store???

That's it for the keynotes.

Mobile Internet World - Day 1 - Morning

I'm trying a new format for posts from conferences. Instead of writing for each session, I'm going to simply merge the writeups from one half of the day. For example, this post will cover information from the morning of Mobile Internet World day 1.

First, the conference is heavily sponsored by The Yankee Group. The name was always familiar to me, but I was never clear that they are a research firm, very similar to Gartner or Forrester. For the morning, I choose the Mobile Development track. I heard three presentations. First, Carl Howe of the Yankee Group, spoke about mobile technologies in general. Near the beginning of his presentation he mentioned that "people in living in huts in Africa are mobile addicts." What a coincidence, one of my colleagues loves to cite this example as well! Another very important point he made that I remember reading in a book on mobility (can't remember the title at the moment), is when planning your mobile strategy, remember to mobilize, not miniaturize your site. This is very important. There are plenty of bad examples where companies try to simply mimic all functionality on their PC web version of their site, on their mobile version of their site. Carl makes a weak argument against native applications for mobile devices in favor of the mobile web. While I agree with his point that there are far too many devices to try and write a native app for each, I think there are certainly applications in which native applications make sense. I recently purchased an iPhone. For whatever reason, I find myself using Facebook's native app 100% of the time, instead of accessing their iPhone website. I think it feels a little quicker, or for some reason, more convenient? After trying to convince the audience why the mobile web is the optimal platform for apps, he identifies the problem of finding a company's mobile website. Is the address xxx.mobi? Is it mobile.xxx.com? etc. There's also the problem of browser standards. His research indicates that Opera and WebKit will continue to gain market share.

Next, Carl discussed some work the Yankee Group did to score mobile websites against criteria his form defined. 32 mobile websites were picked in three categories, financial services, shopping, and airlines. He didn't really go into the actual criteria used for evaluation, this is actually contained in the formal Yankee Group written research (which I've requested). The most interesting point in this part of his discussion was that, out of the 32 sites they reviewed, not a single site scored higher than a 68 out of 100 points. Highest ranking mobile web sites included Bank of America's, Southwest, Fidelity, and Edmunds. Highlights include:

Southwest - incredibly minimalistic. No graphics or colors, just text. Users can do the few tasks that one would expect on an airline website from a mobile device (check in, get flight status).
Fidelity - Any brokerage activity that one can perform on Fidelity.com, one can perform on fi-w.com. Also of note, the separate domain for Fidelity's mobile site, less letters mean it's easier and quicker to type.

Carl also mentioned WURFL. WURFL is an online open source free xml database containing a list and description of nearly every mobile device on the market. A very valuable research tool.

Carl now gave the floor to Francesco Rovetta, director of ebay mobile commerce. Ebay has one of the most successful mobile websites. The goal of developing mobile ebay was to make using the site as easy as making a phone call. I'd say they achieved that goal. Their native app for the iPhone is also very successful, in fact it's top rated in the Lifestyle App Store category. How have they measured the success of their mobile website? Well, Francesco indicated that users who bid on an item from their mobile device are twice as likely to win the auction. He stressed that when designing for a mobile site, never lose site of user experience. Provide the fewest screens and clicks possible, reduce complexities and distractions for the user, and be sure to consider hardware and speed constraints.

Primary lesson learned from ebay's mobile forays:
Provide a consistent experience across different Internet touch points (whether desktop, mobile, or native apps)

Ebay has separate development teams for their desktop and mobile websites. Additionally, the use cases provided on the mobile site are a very small subset of that on the desktop version of the site. For instance, new users cannot register on ebay's mobile site.

Hardest problem for ebay (and probably many other companies): Determining the best desktop features to mobilize.
Unfortunately Francesco didn't suggest any techniques for answering this question.

Next, Michael Neidhofer, the CEO of Netbiscuits presented on ........... Netbiscuits! I'm going to keep this brief because I really hate when presenters use a conference as a channel for a product pitch. In fact, I see it as very similar to how presidential candidates use national debates to simply rant about their platforms on national TV rather than actually answer the posed questions. Enough of that, Netbiscuits is a platform for mobile development. It seems ok. I haven't developed on it, nor have I really used many websites that are built on it, so I won't pass too much judgement. Probably the most insightful thing Michael said was, when designing for mobile, focus explicitly on the use case you're addressing (meaning, pick the use cases! Don't just design a mobile version of your website!).

Overall, an impressive morning. I'm looking forward to the rest of the conference. Next, I'll discuss the two keynotes of the day.

Most comfortable conference

The Mobile Internet World conference has done a great job with their seating in the sessions. The seats are not packed in, chairs are at tables, there is very fast wifi (probably provided by the Boston Convention Center, but reliable and fast none the less), and power strips for plugging in laptops. Way too many conferences lack these simple amenities.

Attending Mobile Internet World in Boston

I'm attending the Mobile Internet World conference in Boston, MA for the next three days. I'll blog extensively about the conference after each day. I find it's too time consuming to try and blog midsession during the conference.

Here's the conference's web page
http://www.mobilenetx.com/

Tuesday, May 27, 2008

Google Developer Day 2008

I'm at the airport waiting for my flight to San Francisco. A colleague of mine and I will be attending Google Developer Day 2008 tomorrow and the day after. The official site is:
http://code.google.com/events/developerday/2008/
Instead of posting here, Karun and I will be posting our thoughts at a blog dedicated to the conference. You can find it here:
http://googleconference.blogspot.com/

Wednesday, April 9, 2008

Gartner Emerging Trends - The Future of Search in the Post-Google Era

Today was my first day at the Gartner Emerging Trends conference. The first session of the day was titled "The Future of Search in the Post-Google Era." Overall, an informative presentation. A couple of themes coming from the talk were that IT shops should recognize that there may very well be a need to use multiple search engines within the organization. Often, picking a single search engine to fit all your needs may increase time to market for new applications requiring search capabilities. Additionally, a single search engine may force you into some corners and require compromises in the resulting applications. Instead, my spending some more money initially on a couple of search engines to complement each other, you'll reap the benefits down the road, and ultimately provide better search results to the users.

Another interesting metaphor presented was that of relating the searching a search engine does with an ant, rather than a spider. A spider (in the context of web search) determines which information is relevant to a query term by "crawling" over the content on the web. The ant metaphor, related to search, is more focused on how ants (the insects) communicate with each other by leaving trails of information related to the particular path. For instance, if an ant finds a trail to a food source, it will leave chemical traces along the path for subsequent ants to find, and know that the path leads to a food source. Cutting edge search engines are doing similar things related to the data that they find. For instance, if a user searches for "firm" and ultimately clicks a link related to a mattress sale (ya know, a firm mattress), the search engine will capture this and remember for future searches, that the user may be more interested in mattresses, than attorney firms.

Lucene, an open source search tool, was briefly recognized as a useful tool, but it was recommended to adopt with caution. The basis for this recommendation was primarily due to the fact that it's nothing more than a library of APIs to help index content. Usually, application teams have to do a lot of work around it to get to the desired endpoint.

Another random metric that was new to me, on average, search engines only receive 1.7 words in the query. Incredible, right?

Friday, February 1, 2008

OEM - Balancing Control and Innovation

Presenter: Michael Ogrinz, Principal Architect, Global Markets Technology, Bank of America Securities, LLC

architect role is liason between business and IT, get to work with technology but don't have to worry abbout 2am support calls
Showed the Froogle example with rebates
Ease of Use = Business Value, who cares about the exact definitions?
Example at BOA - people joining conference calls, mashing up data from AT&T call center, whitepages.com to show who is on the conference calls
When bringing in new tech at BOA, it sounds like products go through levels of acceptance, such as "emerging"
They'll never use a mashup to broker a trade, but they would use mashups to quickly prototype how the UI should look for these systems
Generation Y vs Generation BabyBoomers
Leverage mashups for dashboards, discovery (of new ways to relate data), usability (quick testing of new UIs), application monitoring (quick, not really reliable, but useful in some circumstances)
Drawbacks: regulatory for who provides the data, brittle (who provides the SLA?),
SIFR - product for helping to secure mashup data so it doesn't get reused where you don't want it to be, basically renders the sensitive data as images

----
WSO2 Mashup Server Architecture, Apache licensed, make money from support and training.

OEM - The Right Approach

Presenter: Bob Buffone, Chief Architect, NexaWeb

What is a mashup?
Why mashup? Productivity, agility, efficiency
Everyone can be a user of mashups
Does the creator have to be in IT or not?
Need to define what people are good at... creating content, consuming content
making decisions
Evolution or Revolution? Probably an evolution from SOA and RIA
Programmable Web - largest inventory of the mashups available
Downfall of mashup market - there are really no standards
Things to consider if you were to develop a Mashup Servers - cxn to SOA governance, hot deployable widgets, integration w authentication, role-based access, federated mashup repository, handling portal users
Steps to success - production (need services to feed into the mashup, leverage companies like kapop, mashery, strikeiron), consumption (look at complete platforms, standards, open, mission critical), proof of concepts

OEM - Web Services Management Infrastructure

Presenter: Oren Michels, CEO, Mashery

How easy is it for two companies to partner and get a beneficial work relationship started?
Mashery is designed to help with this, particularly for solutions in which are independent of the IT organization
Facebook as a reverse API - as long as you code an API to their definition, they'll distribute your app to millions of people
Would we ever want to open our API to external clients?
An open is all about business, not data (what does this mean?)

OEM - Delivering Data as a Service

Presenter: Bob Brauer, CEO, President and Co-Founder StrikeIron

Overview of StrikeIron, "Like is easy, data is hard."
State of external data today: authentication, different development key structures, SOAP headers with email address, ip address throttling
Business models and their associated data are all different, how can we reconcile these differences?
Presentation is still focusing around StrikeIron....uggg
StrikeIron intends to simplify the details around consuming a lot of different backends
Be aware of the context by which you describe mashups to the business so they understand the benefit, rather than get scared away

OEM - Building the Future of Enterprise Mashups

Presenter: Scott Feldman, Senior Director, Global Customer Communities, SAP Americas, Inc.

Must be careful about using mashups and consider IP laws, especially when considering other people's data or sites
In the enterprise sense of things, must balance governance with freedom (both have their place)
Enterprise service - bringing together disparate backends using a tool that till allows them to be loosely coupled
Business Network - what can be done from a creative perspective from the user base
SAP CEO one of the biggest proponents of value networks
Business leaders generally are not driving mashup development
mashups are part of a broader social context of Webb 2.0 leverage power of the net to augment collaboration and communication among individuals
SOBA apps are rooted in business context
Enterprise SOA delivers flexible IT resources to meet continually changing business needs
Users are the ones developing solutions with mashups, where with SOA IT is the one developing the solutions
What is the difference in definition between SOA and Mashups?
Example App - an entire application based on mashup technologies that allowed power companies to view information in Google Earth. Better view than in an table

OEM - Keynote, Mashups are here

Presenter: Rene Bonvanie, Serena Systems, Senior VP of Worldwide Marketing, Partners and Online Services

There will be no product pedaling in this presentation
We're in the infancy of mashups
Mashups may already exist, but just not recognized as a solution to these problems
Can't silo the people who innovate, and the people who must use this innovation
Is IT the sole source of IT innovation? Probably not
SOA problem - like building a currency that can't be used outside of IT
The more we inhibit people, the more people will find suboptimal solutions like spreadsheets and SharePoint, rather than truly innovate
Must foster innovation throughout your employee base
Innovation prospers in times of tight budgets, we must find out ways to do things for much cheaper
The more money humans have, the less innovative they become and the more wasteful they are
Similar to Facebook, let's use SAP, PeopleSoft, CRM system to create a mashup (a la Facebook application) that helps us expand or better understand our customer network
Provide a platform for innovation, expand the general definition of mashups to include business (processes and users)
Influence executives about how they can use mashups to propel business growth
Example mashups: prediction markets, industry associations based on this data
Innovation vs Governance: I want to innovate without asking for permission vs I'm on the hook for security, reliability, and compliance
This is a natural imbalance in any organization
Innovation side: automate business processes, connect existing systems, design user interactions, deploy without infrastructure, use without worry. Notice that none of these aren't indicative of huge new applications, but a little bit of this and a little bit of that
Governance side: expose services securely, govern mashups transparently (versioning and rollback, deployment privileges, approvals & notifications), fine grained security, collect detailed audit information
Mashups are not a development or coding platform, but instead a type of artwork
There's no way to determine if there's a facebook application available with the functionality that you want (for instance using SAP and salesforce.com to run a credit check on a company)
There has to be a strong collaborative relationship between IT and the business for mashups to work. If the end user doesn't want them, they simply won't be used. If IT doesn't want to open up systems, then the end users will be frustrated that they aren't able to access the data
The need for mashups cannot be generated solely from IT

OEM - Mashing up Networks

Presenter: Patti Anklam, Author, Consultant, Hutchinson Associates, Author of "Net Work"

How do you want to mashup a network?
Purpose of her presentation - understand how mashups can help networks grow and prosper
Networks are the medium for individual and organizational fulfillment (communities, church networks, etc)
Network's Purpose: Falls into one of five categories, mission, business, idea, learning, personal
Network's Style: What is it like to be in this network? What does it look like? What are the cultural norms? How is it led?
"Let me describe my network." (Then out comes the org chart) - Is this really the best way to describe it?
Analyzing your network (not org chart) can help bring out thoughts about external contacts that may not be obvious from the network
ONA: Organizational network analysis - often referred to by more generic term, social network analysis. Basically just documenting a view of personal interactions among individuals
Benefit of network analysis: are those people with a ton of connections leaving the company?
How do we get this data? Observe how emails flow within the organization (drawback: we don't really know the logical contents of the email).
Microsoft's investment in Facebook - intended use is to observe the relationship's between people, not really targeted advertising
Creating a social graph isn't that hard, but it's associating value of the relationships contained there
VNA; Value Network Analysis - view of the web of relationships that generates economic or social value. Requires physical access to the people, can't really automate the collection of this data
Microsoft has such a heavy footprint in the workforce via the software systems people use (Windows, etc), yet they missed the boat on including builtin analytics systems
What would we want in a network mashup? But also keep privacy, superficiality, accessibility
OpenSocial - mashing up people and technology, hammer home the context of role in a network
http://www.byeday.net/weblog/networkblog.html
http://www.theappgap.com

OEM - Crossing the Barriers of Adoption

Presenter: Sam Ceccola, North America CTO of Capgemni

We don't want mashup technology going the way of SOA, adoption is dropping
What customers got with SOA didn't live up to what they thought they were getting with SOA
Drucker's Seven Sources of Innovation - ?
Governance and Management - personalize, differentiate, organize, comply
Barriers to crossing the divide - security vs trust, information overload vs the creation of knowledge, the aging workforce, finding the novelty vs marketing to the masses, a successful implementation strategy
Instead of locking a system that you have to be granted access to, instead, grant everyone access to the system but keep careful watch on them, and as soon as someone does something wrong slap the handcuffs on them (government A-Space program to change their security for the analytic community to leverage Web 2.0 technology)
Can this work in the financial industry?
Spectrum of "Unique & Value" to "Commodity & Cost" Where on this pendulum do the financial industries lie?
Demographics of today's workforce is U-shaped, one side is 40+, one side is 30-, and then a little between 30 and 40
If the governance walls are maintained, a companies workforce will lose out on the younger crowd if the new technology is not adopted
How can we combine a company's org chart with the actual social networks contained within it that actually represent how the business gets done

OEM - The Language of Enterpise Mashups

The Language of Enterprise Mashups
Presenter: John Crupi, CTO of JackBe

JackBe, founded in 2003 as an Ajax company, and repositioned the company as an enterprise mashup company
Do mashups enable users to control their own software's functionality? Almost abstracting the actual development into a point and click interface for creating the mashup
Gartner Top 10 Strategic Technology Areas: Mashups at #7
Incoming workforce - grow up on myspace, gmail, facebook, do it yourself, don't like to conform, born after 1977, expect to be paid more, expect to have flexible work schedule, expect to be promoted within a year, expect to have access to state of the art technology
Gen Y - doesn't want a corporate portal, instead they want to customize their entire experience (a la iGoogle of PageFlakes)
Collaboration Example - Nintendo DS with 8 year olds and their networking technology
Demo
Everything in an enterprise is authenticated and authorized with each request, but the key with enterprise mashup is mixing external free data, with proprietary and secure internal data
Product handles the big 4 - RSS, REST, WSDL for Silk, Databases, and web clipping
Two parts of mashup - the data part, and the UI part
Value the fact that the UI of the mashup should be reusable and portable. It shouldn't matter that the mashup is in a portlet, or contained in someone's website, even if it's only internal to a company
Should there exist a standard for mashups such that they are wrapped in a reusable abstract way?
Tomorrow's Data-driven web - integration of data happens at the edge of the server, no longer in the client browser. This data is moved outside of the firewall
Forced Mashup 1.0 - The practice of collaborating on a spreadsheet via email, an outdated and error prone process. There is no governance on the data.
Enterprise Mashup Characteristics - tag/shared/search-able, user-driven, dynamic/ad-hoc, UI (mashlet) accessible. The IT people want to wrap this data with APIs, secure it, drive it from the server,
Web 1.0 Tiers - presentation, business, integration
Web 2.0 Tiers - presentation, mashups, business, integration
Mashups shouldn't care where they are shown
Demo #2 - JackBe Wires - Tibco like GUI for wiring data together to eventually be shown as a mashup, looks interesting

OEM - Understanding the value and applying to business

Presenter - Stefan Andreasen, Founder of Kapow

Kapow is a .com survivor
250+ customers across US, Asia, and Europe
Partnerships with Oracle, IBM, BEA, Attachmate, FAST, EMC/Documentum
Products - Kapow Mashup Server 6.2 - 8 years in the making
OpenKapow - free version, but catch is that you have to share everything you do
What is a mashup? Comes much more from the situation in which it was created, than the technology used to create it, we're already doing it! It's just an evolutionary thing, we finally put a name to it, can be management data mining, business reports, price comparison, rss feeds. An application, dashboard, spreadsheet, portlet, widget which is combining multiple data sources to create new insight, business decision, intelligence, and additionally the situation in which the mashhup is created is teh most significant differentiator for being a mashup (self service, adhoc, sharable, collaborative, distributed, automation of manual process, comes from the long talk of business
Systematic Projects for conservative reliability vs opportunistic projects for competitive agility
Systematic Projects for conservative reliability - old way of IT, doesn't give us much these days, this is just :running the machinery"
opportunistic projects for competitive agility - biggest opportunity for ROI, especially from mashups, this is where we "create the value"
Mashup can be presented as: portlet, web application (housing maps), spreadsheet, rss feed, smartphone
Data can come from competitors, pricing, market data, reputation, customers, and suppliers (which is all freely available on the web!)
Kapow - two versions either one that will run inside your firewall, or another that will be released soon
Typical mashup - Google Maps and craigslist data in one view
Business mashup - BP oil rig warning system in Gulf of Mexico, create a warning system using five free web sites to show oil rigs on a map with weather, rig names, water temperature, and send alerts via text messages to a cell phone
Core data vs Intelligence data - breaking up the data layer into two pieces
Core data - private, systematic, structured, subscribed
Intelligence data - public, unstructured, knowledge, often no standard API or feed, and hard to get to (this are kind of like the wild websites)
Only the largest free websites have a public API, most websites don't, so how can we access the data on these websites to mash it up?
#1 obstacle is getting access to this raw data, this is where Kapow's product comes into play
Kapow's Product Family - Portal Content Edition, data collection edition, web 2.0 edition, content migration edition (ETL for the web)
OpenKapow - 3500 users
Transactional mashup - When creating an account in Facebook, if you already have a LinkedIn account, you can provide your LinkedIn credentials to Facebook and they'll suck you information from there
Demo - create an RSS feed of information on a certain stock based on data returned from Google Blog Search. Kapow was primarily a GUI in which you interact with, kind of like a browser in which you specify the area of the screen to capture. Seemed like a lot of manual work just for an RSS feed. Can't TIBCO do this for internal data from the backend? It got impressive when he service enabled the demo, and the data was ultimately fed live into a spreadsheet (from the web)
So how fragile is this manner of "screen scraping?" Since a website author can change their structure and potentially break someone's Kapow mashup. This is apparently the most asked question from customers of Kapow, and the answer is that ...

Open Enterprise 2.0 Mashups - Introduction

Today I'm attending the Open Enterprise 2.0 Mashups Summit on in NYC. I'll be posting a separate blog entry for each presentation. I'll use "OEM" as a prefix for the titles of these posts so I can fit the actual name of the presentation there as well.

SharePoint Site for the summit
http://colabria.sharepointsite.net/emu/default.aspx

John Maloney's Opening Remarks
Intangible assets - the real wealth of individuals, nations, and ecosystems
Value networks are dynamic system views of roles and relationships
Value networks generate true wealth, prosperity and sustainable success
Analysis and modeling is important in planning these networks
These are not just business or IT specific networks, but apply to all areas of life (and science)
First, understand the as is value network, how do you tap that intangible wealth?
These value networks may be treated as ecosystems themselves
smallest type of exchanges are tangible and intangible exchanges
Tangible Exchanges -
Intangible Exchanges -
Business Analysis Methods - process, value network, social network
Value networks look at : what's in the network, what's flowing, what's contained in those exchanges, move from a process mentality to a framework mentality (?)
Goal is to have the intangibles working for you and making wealth
----
Mashups as the spreadsheet analogy, the data comes from somewhere else, we just let the user control how they slice it and dice it

Saturday, January 12, 2008

Why is Blogger so anti-markup?

Please offer me some suggestions for posting XML, HTML, and other markup in my blog posts. As I found out in my previous post, Blogger is really stupid when trying to interpret any markup in the post. My intention is that the markup isn't interpreted by the browser, but instead shown as code to the reader (see the build.xml excerpts below). In Blogger's editor, I pasted the xml, and used the WYSIWYG editor to format it. The results were devastating. Both the xml became mangled, and the resulting html that Blogger generated to adjust the format of the text wasn't correct. I ultimately had to change to the "Edit Html" view and change all the > and < characters to their encoded equivalents (ampersand-lt; and ampersand-gt;).

How do you get around this problem in your blog? I guess I could merely switch over to the "Edit Html" view full time, but then, what good is the WYSIWG editor?

Stay tuned for more on Java code coverage...

Wednesday, January 9, 2008

Enough of Cobertura, introducing Emma - another Java code coverage tool

After fooling around with Cobertura for a couple nights, I got frustrated because I couldn't figure out how to filter out my unit tests being monitored for coverage. Specifically, I had written the Cobertura ant targets to execute my suite of unit tests and monitor the coverage of the code. When reporting the results, in addition to showing the which lines were covered from my application code, the report also showed which lines from the unit tests were covered as well. I tried a multitude of different ways to try and filter out certain patterns of filenames from being reported, but nothing seemed to work. I imagine I'll revisit Cobertura in the future, since I'd really like to get the results fed into a tool like QALab. At the moment, QALab's website doesn't indicate that it supports output from Emma, only Cobertura (but there seem to be new feature requests under development for supporting Emma's format).

Emma seems to be very similar to Cobertura under the covers. Both tools do analysis and insert some markers into the compiled Java bytecode in order to monitor which lines of code are called during the coverage period. Emma's website has a lot better documentation on getting a new user up and running. With my work, I'm not even concerning myself with the command line Java execution of my code (does anyone even do this anymore besides college students writing simple programs?). Instead I like to jump right to the documentation for integrating these tools with ant, primarily because most of my code already has ant build scripts written, and that's where I'd ultimately like to integrate these tools. Also, some developers may use Emma to monitor coverage of test cases they're executing by hand, specifically QA type test cases from which they're clicking through the application. I'm not worrying about this scenario either, I just want to focus on the unit testing coverage aspect. To get Emma monitoring code coverage of your unit test cases from ant, at a high level you need:

  1. A JUnit suite that will execute all of your unit test cases
  2. An ant taskdef referencing the Emma jar file to load its custom targets
  3. A custom ant target for compiling your test cases
  4. A custom ant target for running your unit test cases while Emma monitors it
The suite is all on you to write, so no need to cover that here. The taskdef for Emma looks like this:


<!-- You'll need to define emma.home as a property pointing to the
directory where you extracted the Emma zip -->
<property name="emma.dir" value="${emma.home}/lib">
<path id="emma.lib">
<pathelement location="${emma.dir}/emma.jar">
<pathelement location="${emma.dir}/emma_ant.jar">
</path>
<taskdef classpathref="emma.lib" resource="emma_ant.properties">


The first couple lines just cleverly define some path stuff so we can reuse the variables elsewhere in our build.xml. The last line here is the interesting part, it tells ant that one of the jar files on the emma.lib path contains a file called emma_ant.properties, which contains information for tasks that can be used from ant. Troubleshooting point: If you later get an error regarding ant not being able to understand the custom emma tasks, then you most likely have a bug/typo in the above code snippet such that the Emma libraries aren't being referenced correctly.

Next we'll define a general on/off property for enabling Emma (if you understand ant, you'll later see that this really isn't necessary, but you'll need to adjust future targets accordingly)


<target name="emma">
<property name="emma.enabled" value="true"></property>
</target>


Next, we'll define the target for compiling our unit tests:


<target name="compiletests">
<javac destdir="web/WEB-INF/classes" source="1.5" target="1.5"
debug="true" deprecation="false" optimize="false" failonerror="true">
<src path="${test.dir}"></src>
<classpath refid="compile.classpath"></classpath>
</javac>
</target>


One thing you'll probably notice from this snippet is that I'm developing a web application. I really haven't variablized my ant script completely at this point, that will come later when I try to replicate the script on a separate machine. Nothing complicated, or even Emma specific, in this snippet, just compile my test cases, located in ${test.dir}

Next, we'll actually execute the unit test suite and monitor their coverage.


<target name="runtests" depends="compiletests">
<emmajava fork="yes" enabled="true" libclasspathref="emma.lib"
classname="junit.textui.TestRunner" taskname="junit" failonerror="true">
<arg value="mongo.AllMongoTests"/>
<classpath refid="compile.classpath">
<filter includes="mongo.*" />
</classpath>
</emmajava>
</target>


This target will run the custom emmajava ant task (loaded from the earlier taskdef statement) which executes my unit test suite (class is mongo.AllMongoTests), run a filter such that only classes under the mongo package are monitored for coverage (otherwise you'll see stuff like how many times you called the junit.framework.TestCase class, and who cares about that?), and finally output the results into a file called coverage.html in the same directory as the build.xml. Well the results don't end up exactly there, instead they end up in a subfolder to wherever build.xml is located called "coverage." Of course, you can customize this by just changing the value of the "outfile" attribute, and absolute paths are supported.

The html output of the tool is very pretty, although not as pretty as Cobertura (but it's just data). In my next post, I'll show an example of the output. Unfortunately, compiling and running ant all the time on your desktop gets a little slow. It's better designed for integrating and building your application.

In my next post I'll review EclEmma, a plugin for Eclipse which allows you to do all this within the context of your IDE with minimal configuration.

Sunday, January 6, 2008

Cobertura - A tool to help you measure your Java unit test code coverage

If you've ever written unit test cases for any program language, you know how important it is to ensure that your test cases execute each line of code. This is called code coverage. The more your unit test cases exercise the logic in your application code, the less likely it is that a bug slips through your unit test cases. On a large code base (common to most applications these days), it's hard to judge how effectively your coverage statistics. There are various tools to help quantitatively measure the coverage of your unit test cases. Such vendor tools that accomplish this are Parasoft's JTest, and Quest's JProbe. But who wants to buy software? I've been trying out this open source code coverage measurement tool called Cobertura. So far I've only been using the ant tasks in combination with HTML reports. The reports it produces are really nice and informative, even allowing you to drill down into each class such that you can view the source and actually see the number of times each line of code was called from your test suite. Alternatively, red highlighting will call those lines with no coverage to your attention. There's also a command line interface if you choose to execute it outside of your build. Check it out here:
http://cobertura.sourceforge.net/
Hopefully I get the initiative to post some examples of how to include it in your ant targets.

Other tools that have my attention at the moment, and could very possibly surface in a future blog post include: