The natural enemy of any software project is warped communication. To minimize damage all agile software development methods use short cycles and close interaction with the user. Over the year I learned (partly the hard way) that what users say hardly correlates with what user do. So the final verification usually happens during the User Acceptance Tests (UAT). The problem here: the project is mostly concluded when UAT commences and conflict between users and developers are guaranteed. I yet have to encounter a specification that wouldn't allow for explosive ambiguity (or is so detailed, that when implemented is 100% not what users actually need (memento bene: need not want).
Ideally users should be able to test software before any code is actually written. This is usually accomplished using prototyping tools. The catch: to get reasonable result the prototypes take almost as long to build as the real product. But there is a solution. Do this:
Use an open process to gather requirements. IdeaJam is great to collect and vet ideas from a broad basis of users. You only need to be careful not to run into the say/do or want/need trap.
Create low-fidelity prototypes. Paper is a good start, but hard to distribute. Balsamiq Mockups or Denim are suitable tools. Denim is good to visualize links between screens and flows, while Balsamiq Mockups shine when it comes to UI creation. In a perfect world Balsamiq would release an add-on for IdeaJam (wink wink)
Test the screens: Let users interact with the mockups (you want to print them then) using Paper Prototyping (you want to read the book. or its newer cousin). The interaction reveals missing or complicated steps. If you find a missing item you can fix it in 3 seconds using a pen. Nothing beats that. It is great fun.
No idea how a session could look like? Nigel and I once recorded a session with a simple webcam (you see the tripod in the recording ), have a look:
US President Obama is credited for his effective use of social software. Edelman just published a paper titled " Social media lessons from the Obama campaign" as part of their insight series. From the description: " Barack Obama won the presidency in a landslide victory by converting everyday people into engaged and empowered volunteers, donors and advocates through social networks, e-mail advocacy, text messaging and online video. By combining social media and micro-targeting in the manner that it did, the campaign revealed force multipliers that are already being adopted as part of a new communications model. In The Social Pulpit, Edelman’s Digital Public Affairs team in Washington, D.C., examines the tactics of this revolutionary campaign and what it means for communicators in a new era of public engagement." You can download the report for free, it makes an interesting read. I liked the proposed stepped approach dubbed "Crawl, Walk, Run, Fly"
You might be in for a crash landing when short-cutting the process.
There's a big discussion about what platforms Domino Designer should run on. Currently it is Windows only. The contenders are Linux and OS/X. There's a catch: every new platform will slow development down in creating new functionality. I think with the current machine generation one platform will be enough: Linux. Make Designer a first class citizen on Linux and then package this into a VM that can play on any other platform. Since there isn't a license issue with Linux and we could strip down the VM content to run fast. VM players are available for free from VMWare or VirtualBox. I'm using VirtualBox and love it. This way we can eat our cake and have it too. Designer on all platforms without slowing the development team down.
Last April I ranted to a senior IBM exec about mobile devices and our strategy. While Lotus Traveler's SyncML is a great way to synchronize with a mobile device we only supported Windows Mobile then. My point of view was: "If the mountain (of mobile devices) doesn't come to the prophet, then the prophet needs to go to the mountain" a.k.a. support whatever sync protocol is supported by the mobile device. Now the results of my rant are coming in: We will support ActiveSync for mobile devices. So iPhone, Nokia, Windows Mobile, Palm and any device supporting ActiveSync will be able to sync with Domino.
Bob Balfe and Brian O'Gorman worked through the Container Component Framework (CCF). The CCF is a higher abstraction of the composite application framework. Instead of coding WSDL files and custom code the containers allow you to assemble new applications in the Composite Application Editor (CAE) alone. To be able to do that a new view part has been created: the container. A container can define their own properties and events. To be able to do that the container needs to know where it is. That "where" is called a landmark. A landmark could be a URL, a heading or any other piece that can be identified by a String (including regular expressions, wildcards or XPath expressions). The container properties allow to specify landmarks, properties and events. Available containers are:
Browser Container: Landmarks can define values which are in different positions in the DOM on different pages to publish a single property. You can use simple expressions like id:name or full XPath expressions. The tooling shields you from learning XPath expressions (neat), you just name the landmark and point to the element you want to use.
Notes View Container: Extract information from Notes views without changing the database or use WSDL. What's neat: multiple document selections are supported with a custom definable delimiter.
PIM View Container: Accesses the PIM Java Views and supports Formula and Column extraction. It supports a lot of predefined properties.
Symphony Spreadsheet Container: extract and publish data from spreadsheets using single cells, cell ranges or named ranges.
Host on Demand: Wire your 3270 session in your application (not shown here).
Roll your own: there is a new Expeditor class that serves as a base: com.ibm.rcp.composite.container.core.AppContainer. With overwriting a few methods your container is ready to go.
OpenSpan: Host any Windows application in Expeditor/Notes
Future containers will be: Excel, more Symphony, enhanced configuration options including your own landmark editors. Go and check them out.
The session was run by Eric Mack and David Alan. David Alan sums it up:" In every email is a hidden berry, bear or snake", but it is not as evident as in nature and you need to think about it to figure it out. Enter the Knowledge Worker. While knowledge work requires collaboration the individual actions are very personal. Knowledge work is about value. The equation is simple: value = knowledge *methodology* technology. Knowledge is kept in personal knowledge management, the methodology is a means to an end and the the technology is the tool. The three items are multiplicators, so if one of them is weak value collapses. Everybody has a framework to work with things to do. Something like: What screams loudest gets attention; Wait until the very last minute until the pressure is to high. GTD is such a framework but more structured and efficient. There are 4 keys to get things done:
Get everything out of your head and into a system you can trust
Decide the very next physical action
Decide the context of this action.
Track these actions: Do it in 2 minutes, defer or delegate them.
David emphasised the importance of a clear mind: Mind like water. If your system isn't complete your mind will beat you up for any incomplete or broken commitment. You need balance between perspective and vision. Without vision and perspective you are are victim (crazy busy), without vision you are a micro manager, without control you are crazy maker. David worked in a rapid sequence through strong images why you need to get clear (I liked the messed up kitchen). A clear space frees you to take action and create a mess if you want to. Eric takes us through the options how to use vanilla Lotus Notes to implement GTD. Key is: work from your list. Review and update your lists regularly. Tools Eric and Alan are using: Treo & Blackberry; MindManager; GyroQ; ActiveWords and eProductivity.
It wasn't Carl Tyler, however a band of blue men warmed up the crowd before Bob Picciano, the Lotus Software General Manager, took the stage. His first message was that Lotus added more than 12000 new customers since R8 shipped. He then cleared the stage for the guest speaker Blues Brother Dan Aykroyd. It was a quite an entertaining talk. This year's theme for Lotusphere is " Resonance". Picciano mused about resonance and how it can bring down the most rigid structures including shattering windows. As a twist to previous Lotuspheres Picciano featured 3 key customers and invited the senior executives to address the crowd: Coca Cola, NetJets and HSBC.
The more interesting parts of course are the announcements:
The first announcement came from Blackberry. 10 days after Domino 8.5 ships the Blackberry enterprise server is compatible with Domino 8.5. Blackberry has a new Sametime client supporting file transfer, a new Lotus Connections Client and supports the new Domino 8.5 Designer to develop XPages for Blackberry devices.
Bluehouse, our SaaS solution is now LotusLive. LotusLive has multiple components to suit every need. There is LotusLive Meetings, LotusLive Events, LotusLive Engage, LotusLive Notes, LotusLive iNotes.
LotusLive allows you collaborate across corporate boundaries. Customers now have the possibility to blend a mix of on-premise and cloud services to suit any business or IT scenario. LotusLive also provides sidebar application for Lotus Notes and Sametime.
The SAP integration project "Atlantic" announced last year and will ship in Q1 2009 as the product named Alloy.
Notes 8.5: New side-bare galore: LinkedIn Plug-in, Lotus Activities offline capabilities. Better address integration: forward addresses as vcards, Drag & Drop sametime names into the to field of messages. Overlay calendars from various sources. LotusLive includes mobile support. On stage demo of a Blackberry online meeting session. LotusLive partners with LinkedIn, Saleforce and Skype. This puts LotusLive in the reach of 400M people.
iNotes 8.5: The user interface is much closer to the Notes client. Calendar overlay works. Notes widgets are available, Full Sametime status updates, full Lotus Quickr integration (kewl)
Domino Designer 8.5: XPsges is the new way to develop Domino applications (and will be in 8.5.1 available for the Notes Client too!). Support for mobile devices is right build in.
OpenNTF: IBM will donate resources and templates to OpenNTF under an OpenSource license.
Sametime Unified Telephony (SUT): manages all your phone connectivity integrating multiple PABX vendors. It will include a softphone and phone awareness. Sametime chat is fully integrated will SUT including dragging Sametime contacts into conference calls or transferring a conference call to your mobile phone.
Sametime 8.5: available later this year. No more Java applets, iPhone support, new Rich Client as Sametime plug-in. Permanent meeting rooms including libraries with all stuff you need in a meeting. Sessions are recorded in Quicktime.
Lotus Connections 2.5: UI will be fully brandable using Themes, Micro blogging (like Twitter), Profiles includes a wall (like Facebook), a new WIKI as native Connections application, "Social Files" to share files (a.k.a Quickr Share), 2way integration with LinkedIn (Facebook seems to be missing yet). iWidgets can be used everywhere to add whatever needs to be added. All these will be also available to devices with micro browser: Nokia, gPhone and iPhone.
Lotus Quickr 8.1.1 (J2EE): shipped in December with a full integration into Enterprise Content Management Systems (ECM). Quickr users now can take advantage of ECM with the full comfort of Quickr's capability like the Quickr connectors
Quickr 8.2 (Domino): Quickr will use XPages for customization, will include the same ECM capabilities as Quickr J2EE and support Mac and Linux clients (can't wait for that).
Websphere Portal & Mashups: The Websphere Portal logo is now yellow <g>. No more odd purple dot in the Lotus product family.
Web Content Management now contains Ephox web editor to better author content. Portal and Mashups work hand in hand. Using the portal Mashups accelerator Lotus Mashups can serve as staging area for portal application. Portal uses a lot of web2.0 technologies and fully integrates the whole Lotus portfolio. Very neat. Mashups can be used to integrate corporate and personal information. You can combine your spreadsheet with data from virtually any enterprise system.
Lotus Marketing: No product or service, but the new ideas how Lotus marketing will raise awareness for the Lotus brand. Based on IBM's Smart Planet campaign the new Lotus tag line is Working smarter together.
IT management likes to keep retention periods short. Short periods require less storage, less computing power to search and analyze the stored data and offer less data (read cost) that might get subjected to a discovery phase (which in Anglo-Saxon jurisdiction typically has to be paid for by the company)
Legal likes to keep retention periods short. Less data stored means less risk in a discovery phase.
Legal likes to keep retention periods long. Since the opposite party might be able to produce electronic communication, having retained the other end can help to verify if that exhibit is genuine.
Record keepers like to keep business records as required by law. Now this is a big discussion. Are eMails business records? This is actually the wrong question (it is the same as: is paper a business record - depends what is written on it). The right question: What emails are business records and how to (auto) discover their business record nature? Also: most acts covering electronic transactions require non-repudiation provisions. Means: emails (given their content makes them business records) need to be retained before users can touch them (for incoming) or after they are finished composing them (for outgoing). So retention ideally happens at the router using proper rules.
Knowledge Management likes to keep retention periods long. A lot of corporate knowledge is stored (or would "is hidden" be more accurate?) in email systems. With the right tools that can be harvested easily. However outdated information isn't KM relevant, so retention should not be too long.
User don't want to be bothered. They have enough work to do and want systems that are fast (which would call for short retention) and can produce any information (calling for long retention). In an ideal world the system would take care itself.
IT vendors love long retention periods. They mean: more customer attention, more budged, more consulting, more hardware. But well: dentists like rotten teeth too.
In any case: without an retention policy in place corporate management stays liable for any violation of compliance. With an implemented policy (where implemented means: defined, communicated, taught and enforced) it turns into the individual employees responsibility. One important aspect: I believe eMail has reached is zenith as corporate communication tool. Social software like blogs, wikis, discussion boards, team sites and instant communication (SMS, Twitter, online chat, etc) needs to be included in retention policies.
What is your policy?
Joe Wilcox of Microsoft Watch wrote an interesting commentary about the "Microsoft Tax" enterprises pay. Microsoft currently is flaking against Apple alleging Apple customers pay an Apple tax (which I would agree, but it's not money but loss of control, but that's a story for another time. The components of the M$ tax are:
Client-Access Licenses (CAL)
Versioning (Pulling out features into new products or enterprise editions)
MDOP and Windows Vista Enterprise
Head over and read the full article. As with every tax: avoidance (in case of M$ tax: a.k.a pirated software) is illegal, however a good tax consultant can lower your burden. Microsoft's licensing options seem to be as confusing as your average state tax code. Why not call in the experts to lower your M$ tax?
All over the planet government are throwing (more or less) money into their economies to get them back on track. Throwing money is easy, everybody does it. In the US president elect Obama thinks a little ahead: he realizes that a working infrastructure is bitterly needed. After all rolling power outages are an indicator of a 3rd world country. Looking towards Germany that won't work. The infrastructure is pretty good and Germany surely won't need Japanese bridges going nowhere. Some more creativity is needed. Home ownership im Germany is still low. One reason are the cost of building a house which are much higher than in countries with similar climate like Denmark or the Netherlands. A major reason are the myriads of laws, regulations and bylaws. Same applies to starting a business. So here comes my unsolicited advice:
Take the German tax code, pile it high and put a match to it (what a bonfire that would be). Visit smaller countries like Slovenia, Switzerland or Singapore and buy their tax laws (allow for some adjustment to fit the German federal structure, the Swiss approach looks appealing). Set the tax rates so this would be result neutral. A strong signal is send to all Citizens that this is serious, borrowing a line from the US: Change is possible. (Unfortunately public servants and tax consultants have a strong lobby and are over-represented in parliament, so it is a pipe dream)
Take all the public servants you don't need anymore in the ministry of finance and redeploy them. Part would take the building code and eliminate all regulations that don't have a proven track record or equivalents in other countries. Stop only once 95% of the regulations are gone. Retrain the rest to become teachers and trainers and boost the education level of just everyone who has any single of the five senses still working. After all Germans value education very highly (at least it used to be so).
Once the building code is cleansed take on the business regulations. Wear your Teflon underwear and carry a big stick, there are many fiefdoms who will resist you.
In a little deviation from simplifying the tax code: give a tax break to anybody who participated in education or health improving activities (Yoga, Tai Chi and Sports in General)
Make it mandatory that at the end of each visit to a doctor the patient gets handed out a printed bill. While here in Singapore you have to settle the bill immediately (mayor credit cards accepted) you could still keep the settlement system you have in place. Just make it 100% clear in black and white to the patient
Publish all public finances on a website with business analysis tools, so they can be scrutinized for efficiency. Put a process in place for review (you have all the surplus people from the ministry of finance).
XPages feedback from an early adopter:" I'm now able to call our code from an XPage... and equivalent transactions that were taking a full second (or more) to complete in a Domino agent are now completing in 20 - 40 milliseconds. And we haven't even optimized it yet; that 50x performance boost is just from running it in XPages instead of in agents."
What do you want more?
From its extraction through sale, use and disposal, all the stuff in our lives affects communities at home and abroad, yet most of this is hidden from view. The Story of Stuff is a 20-minute, fast-paced, fact-filled look at the underside of our production and consumption patterns. The Story of Stuff exposes the connections between a huge number of environmental and social issues, and calls us together to create a more sustainable and just world. It'll teach you something, it'll make you laugh, and it just may change the way you look at all the stuff in your life forever.
Bob Spurzem of Ferris Research notifies us about a recent publication around E-Discovery. In his blog entry he points to the Electronic Discovery Refeence Model ( EDRM) group that announced in December its XML standard for e-discovery of electronically stored information. EDRM tries to address the headache you have preparing for eDiscovery by the multitude of propriarty formats your information lives in. While a lot of EDRM vendors jumped on that, it will be seen if that format becomes a standard. I surly like the better standardization and thus accessibility of meta data. On the other hand the major document formats are ISO standardized as well. So an interesting question: should one transit the propriety DOC, XLS, PPT formats to EDRM, OOXML or ODF? Notably absent from standardization so far, short of MIME, are email formats (MSG, OND) where EDRM could play a vital role.
I toyed around with DXL and it seems transforming a Notes document into EDRM is actually rather easy. ERDM XML has quite some activities planned for 2009, so keep a watch on the project website
No this is no advice for consultants how to bill their activities to customers (you know that "Share your knowledge and I tell you what you know" type of activities). This is about the wonderous world of XML Schema. While XPath (together with XSLT) separates men from boys, knowledge of the various available Schemata and their use separates the knowing from the clueless. There are Schemata (I'm using the proper plural, you might find others referring to them as Schemas) for almost everything. Of course being the real world there are overlapping and competing specifications everywhere (e.g. OOXML vs. ODF for Office documents). There is even a definition in XML for your emotions.
A very interesting Schema is the Strategic Markup Language ( StratML). From the definition: " The StratML standard defines an XML vocabulary and schema for the core elements of strategic plans. It formalizes practice that is commonly accepted but often implemented inconsistently. StratML will facilitate the sharing, referencing, indexing, discovery, linking, reuse, and analyses of the elements of strategic plans, including goal and objective statements as well as the names and descriptions of stakeholder groups and any other content commonly included in strategic plans. It should enable the concept of "strategic alignment" to be realized in literal linkages among goal and objective statements and all other records created by organizations in the routine course of their business processes. StratML will facilitate the discovery of potential performance partners who share common goals and objectives and/or either produce inputs needed or require outputs produced by the organization compiling the strategic plan, and facilitate stakeholder feedback on strategic goals and objectives."
To put StratML to a test it has been used to render the agenda of the incoming US government. Seems we are looking at a new level of transparency?
After a number of years in the field we all think of ourselfs as "seasoned developers". A lot of us (like me) came from other professions into IT. I studied economics during national service (where I had to learn COBOL), went to law school and hold a certification as counsellor. I also went through IBM training in their internship program in the 1980ties (COBOL again, but also hardware, mainframe, midrange, PC and 1-2-3). Despite all experience it makes a lot of sense to connect back to the roots. After all computer science is a university subject. Tim Tripcony thinks so too. He notifies us that Stanford Engineering Everywhere offers a free course in Programming Methodology. You now can get Stanford Quality education from the comfort of your home, hotel room, plane seat. The download of lectures and materials is a whooping 20GB (I downloaded the MP4 version) in 28 lessons taught by Mehran Sahami. You start by downloading the course material and then the videos for the individual lectures. Being a good net-citizen you use Bittorrent for that. Ubuntu comes pre-loaded with Transmission as Bittorrent client -or- for any platform you can use Vuze/Azureus (a Eclipse RCP application) or make your pick from a long list.
Today is the first day in Primary 3 for Anthony and Ernest. The past two years they had the luxury to have school in the afternoon. This has changed. They have to get up at 6am to be ready for the bus picking them up at 6:45 (SWMBO insists on sending them by bus, I would put them on their bikes). So from now on I'll get up at 6am too. I'll see how that will change my daily schedule.