IT|Redux

Think Free

Friday, December 1st 2006 | Ismael Ghalimi

After a six to twelve weeks hiatus that I will blame on this little geek fest and my primary employer’s race to get past the 100 customers mark before the end of the year, I am back at the keyboard, ready to share with you the results of my experiments with the coolest Office 2.0 tools out there, as well as play ball with some folks who are having some issues with my status-quo-breaking definitions of BPM and Open Source (detailed answer coming soon). So, without further ado, let’s take a closer look at one of the most pleasing surprises I got following the Office 2.0 Conference: the truly-amazing ThinkFree.

While Office 2.0 should be about inventing new ways of increasing office productivity through online collaboration, rather than replicating into Web browsers the features offered by traditional office productivity suites, having both would certainly be nice. But like most people, I used to think that Web technologies are not robust enough to do so, and that developing complex documents, intricate spreadsheets, or fancy presentations were tasks better left to our good-old Office 1.0 productivity suites. That was until I started using ThinkFree. Since then, I realized that I was wrong. Very much so.

What TJ Kang and the rest of the ThinkFree team have built is quite remarkable. Using a mix of AJAX and Java, they managed to develop an almost-exact replica of Microsoft Office 2003 that runs within any plain-vanilla Web brower, on any operating system, including Windows, Mac OS X, and Linux. ThinkFree Write, Calc, and Show provide online alternatives to Microsoft Word, Excel, and PowerPoint respectively, and after having used them extensively for more than a week now, I would be hard-pressed to point to any missing feature. As far as the user interface goes, it’s essentially a carbon copy of its Microsoft counterpart, making the transition a non event. Better yet, the whole suite is absolutely free, as in you can use it to develop and store up to 1GB of content without having to spend a single penny.

In and by itself, this makes ThinkFree Online the most feature-rich Office 2.0 productivity suite today, by a long shot. But where ThinkFree beats the competition flat out is in the multiple options it offers to get access to these features. In a nutshell, ThinkFree is available in four editions: Online Edition, Server Edition, Desktop Edition, and Portable Edition. The first is pretty self-explanatory, but is itself available in two modes: Quick Edit enabled by AJAX, and Power Edit enabled by Java, giving you the best of both worlds. The second is essentially a packaged software version of the first that corporate customers can deploy on premise. The third is an offline replica of the first (Office 1.0). Finally, the fourth is a version that you can carry on your U3 smart drive or load onto your iPod. Choice is good for customers, and quite frankly I’ve never seen that much of it for a single product. Again, this is quite amazing.

Last, but not least, ThinkFree also provides a very comprehensive collection of viewers: a publisher, blog plug-ins, APIs, and Web badges. And if you’re not religious about following the rules for Office 2.0 to the letter, you might even want to consider using these browser extensions and desktop widgets.

Faithful to our eat-your-own-dog-food philosophy, I have tried to use ThinkFree for real-world projects. First, I gave ThinkFree Write a try by putting together a compilation of articles on BPM 2.0. It had been originally requested by my good friend Steinar Carlsen from Computas AS, and it was long overdue. This document was developed from scratch and demonstrates ThinkFree Write’s excellent support for pagination, management of hierarchical styles, and production of tables of contents. And for an example of a really fancy document, take a look at this impressive Review of Telecom Sector Reform in the Republic of Liberia.

Second, I imported into ThinkFree Calc my personal Navigation Log for VFR flights originally developed with Microsoft Excel. Here, the original presentation has been entirely preserved, and the formulas still work. It’s also nice to get unusual fonts like Wingdings 3 entirely preserved.

Third, I imported into ThinkFree Show a presentation made to potential investors and originally developed with PowerPoint. If you’re working for one of Intalio’s very many competitors in the BPM space, this document will give you some good pieces of information that you should feel free to use against us in any competitive situation. It won’t help you much in the end, but it should not hurt either. That being said, the interesting part of the exercise was to see that every single bit of content could be imported without any loss. Some vertical alignment on page 5 got messed up in the process, and the chart on page 12 cannot be edited anymore, which tells me that integration between ThinkFree Calc and ThinkFree Show might require some improvements, but beside these little details, everything else worked fine.

Overall, I must say that I am quite amazed by how complete, powerful, and stable this Office 2.0 productivity suite actually is. For me, a new standard has been set, and I will look at any other Office 2.0 service with this benchmark in mind moving forward. As of today, ThinkFree Write, ThinkFree Calc, and ThinkFree Show are the primary entries for word processing, spreadsheet editing, and presentation building on my Office 2.0 setup.

TJ, Suzette, Jonathan, and all: keep up the good work!

Editor’s note: This post marks the one-year anniversary of the IT|Redux blog. Regular daily posting will resume from Monday to Friday. You should not expect any week-end posts in the future, and late posts won’t be back-dated anymore. Instead, some posts might be written in advance, and posted at a later date in order to keep up with the daily posting rate.

Entry filed under: BPM 2.0, Office 2.0

45 Comments - Add a comment

1. Bob Urry  |  December 1st, 2006 at 6:24 am

Ismael,

What a vacum you leave when your blog goes silent!

I think that the concerns that I have about Office 2.0 are relected here. I will be looking closely at ThinkFree to see how well it lives up to you description.

It’s a real shame that your little ‘geek fest’ was on the wrong side of the Atlantic, sounds like we missed a treat!

Cheers

-Bob

2. Ismael Ghalimi  |  December 1st, 2006 at 6:29 am

Bob,

The Office 2.0 Conference was quite fun indeed.

We’ve got another one coming next year though…

-Ismael

3. Jason Wood  |  December 1st, 2006 at 11:27 am

Ismael,

Welcome back to the blogosphere, I was getting concerned!

Also, count me in for another VC panel host if you need me next year.

-Jason

4. Ismael Ghalimi  |  December 1st, 2006 at 11:31 am

Jason,

Thank you! I certainly will keep that in mind.

Best regards
 -Ismael

5. Dennis Howlett  |  December 3rd, 2006 at 1:16 am

Just in the nick of time. I was thinking the other day, is Ismael OK? He’s been very, very quiet. Now to check out ThinkFree.

6. Dennis Howlett  |  December 3rd, 2006 at 2:40 am

Well, having had a look at it I think they’ve missed a few tricks. Tagging for one. That would help make it easier for end users to classify material when it’s relevant to blog entries for example.

I don’t know about you, but the applet load time for the online version on a Mac is very, very slow. The offline version is not much better. That’s not going to be acceptable to a lot of people unless the’re willing to leave it open. Which presumably means chewing up memory.

7. Dennis Howlett&hellip  |  December 3rd, 2006 at 3:39 am

[…] My good friend Ismael Ghalimi gives think free a glowing report. Sadly, I’m not as keen. I believe ThinkFree have missed three important issues: […]

8. Ismael Ghalimi  |  December 3rd, 2006 at 10:56 am

Dennis,

The applet is cached, so next loading is very fast.

9. Francis Ip  |  December 5th, 2006 at 6:12 pm

One thing I am certain about is that the so-called Office 2.0 will never catch up with the capabilities of Microsoft Office. Emulating Microsoft Office is a waste of time and money for the following reasons.

1. Java-based software does not support OLE (Object Linking and Embedding), which is the foundation of Windows’ programming model for Client/Server, be it within process communication or inter-process communication.

2. There is no VBA (Visual Basic for Application) engine that runs within a Java Virtual Machine, therefore no extensibility.

3. Office is more than Word Processing, Spreadsheet, and Presentation. Project Management, Modelling (i.e. Visio), and Web or XML posting of documents for sharing (i.e. FrontPage) are part of Office.

4. When you pay 30 dollars per month to use Word Processing, Spreadsheet, and Presentation, it is more expensive to own than Microsoft Office Suite!

5. One can always store documents and share them with anyone using free e-mail account (e.g. Lycos 3G, Yahoo or Google 2G, etc.). With Microsoft Office and ODF translation sofware, which will be free and available sometime in 2007, one can edit documents regardless of the origin or source of the application that generated or saved the document.

Personally, I believe it’s a waste of time to evalute any Office 2.0 application!

-Francis

10. Quentin Stafford-Fraser  |  December 7th, 2006 at 2:30 am

Does anyone else is having trouble registering for ThinkFree? I decided try it 6 months ago, entered all my details, and then got taken to a blank page. I tried it with two or three different browsers, then sent a bug report.

I got the automatic reply saying it will be handled as soon as possible, but nothing further. So, 6 months on, I tried again — same problem.

Is it just me? I’d like to give it a go…

11. Jonathan Crow  |  December 7th, 2006 at 4:40 pm

Quentin,

Can you send me the email address you used to create the account?

My email address is jcrow@thinkfree.com.

Let me check into what the problem could be.

Thanks,
 -Jonathan

12. Andrew Baldwin  |  December 8th, 2006 at 4:14 am

Welcome back! You were missed.

I had got out of the habit of checking IT|Redux for my daily fix — hence the gap between your re-appearance and this comment. While you were away, I’ve been playing with YouOS together with the Zoho and ThinkFree office suites. On a fast network connection it is quite a hot combination!

13. Ismael Ghalimi  |  December 9th, 2006 at 9:33 am

Andrew,

Indeed, Zoho and ThinkFree make for a great combination.

14. Andrew Baldwin  |  December 12th, 2006 at 1:33 am

One area I’d like to investigate — if that happy day ever comes when I get some time — is the management of information storage in a consistent way. 2006 has been an “interesting” year for me, with a house fire this summer — moving the family back home next week — and working oversea from Monday to Friday. I hope 2007 is better.

In particular, I would like to synchronise files on YouOS, ThinkFree, my local machine, and my personal WebDAV server at home, plus optionally some servers at work.

I have a rough design in mind for a scripting mechanism — albeit slightly clunky and based upon the embedding modification time information within file names and the use of RSS mechanisms to fire off a copying script, yet I cannot help but feel there is a gap in the market for such applications. What would be particularly interesting is the ability to just send changes, rather than the whole file — especially for big documents.

Of course this again harks back to my earlier concerns about accessibility of data stored on systems beyond your control, and the desire to manage local copies.

Are you aware of any solutions? Even if they are only partial solutions, they would be useful — especially if open sourced — as a pattern or guideline.

Cheers
 -Andy

15. Francis Ip  |  December 12th, 2006 at 7:02 am

Andy,

Why don’t you use the age-old field-proven file or database replication to synchronize your data or documents? If you use Windows, the “briefcase” would do too! Web 2.0 or Office 2.0 applications will never provide the capabilities of multi-version synchronization!

-Francis

16. Andrew Baldwin  |  December 12th, 2006 at 12:21 pm

Hi Francis,

I agree that Briefcase would work, but what I was looking for though was something that could run periodically without user intervention. In UNIX terms something along the lines of rsync running as a cron job, but with a bit of intelligence thrown in so that it would know which version was the latest and greatest (and thus which to replicate) amongst several locations.

I also agree that Office 2.0 or Web 2.0 applications won’t do this natively — I was thinking of a configurable, standalone utility. Perhaps something based upon existing mirroring tools like those used to provide local caches of big packages.

If all else fails I may put one together myself — and donate it to the Open Source community.

Cheers
 -Andy

17. Ryan Armasu  |  December 13th, 2006 at 7:48 am

Ismael:

Thank God you’re back!

I did not know what to do with myself without reading your posts.

In your absence, the following happened:

* I gained five pounds
* I tried to learn Ruby on Rails with moderate success
* I almost got addicted to TechCrunch
* I saw a lot of (bad) movies

I have a question about JotSpot — my favorite Wiki. I signed up before the Google purchase and I just loved it. My question is: what do you know about it, what is your experience with it if any, and do you have any idea how to give Google feedback on what we think should be done to it? Also, how about a feature on personal and enterprise Wikis? I can’t remember any (recent) posts on the subject.

Lofty goals to be sure.

Thanks,
 -Ryan

18. Francis Ip  |  December 13th, 2006 at 4:08 pm

Andy,

I don’t think that you really meant to develop UNIX “shell scripts” to do the synchronization of your Office documents. An Office 2.0 environment is several tiers above the UNIX system shell. I don’t know what script you have in mind. Do you start at the base, the CGI level? Alternatively, you may start at the SOA tier with AJAX.

Regardless of which tier you develop your script, you have to resolve the fundamental problem of having either one central document that can be locked, edited, and then shared, or multiple versions.

The question is how do you reconcile the content changes of multi-versions, when each version consists of some valid content that needs to be merged into the consolidated document?

Good luck to your venture into the development of an “Open Source” script that can reconcile and consolidate contents from different versions of a document!

-Francis

19. Andrew Baldwin  |  December 14th, 2006 at 4:17 am

Francis,

I agree that Office 2.0 is much higher in the stack than UNIX. What I was striving for — and not expressing clearly — is an analogy.

What I am aiming for is:

1. Create a document “X” in ThinkFree and save it onto their servers

2. Create another file “Y” on YouOS, again saving to their server

3. Then automatically copy X and Y to my client PC’s hard drive, to my backup server, to YouOS, and to ThinkFree. This would give me X and Y available wherever I was and, by spreading across machines, provide some safety against machine, network, or supplier failure.

If I then update X to X’ at a later date, whether on my PC, server, or in ThinkFree, have an automated — perhaps time based — means of replicating it to other systems.

I’m thinking of single user applications at the moment. Adding multi-user locking and management of contention — especially when user A edits document X in environment a, whilst user B edits it in environment b causing a need to reconcile and merge Xa and Xb — is a complication left for the future. Worth considering, but not just now.

And don’t even think about management of encryption (yet).

I guess when all is said and done, I like having a “single point of truth” in a document, and having the document stored in a number of places for safety and convenience.

-Andy

20. Francis Ip  |  December 14th, 2006 at 10:49 am

Andy,

Read this article. I believe it should give you some idea about what ThinkFree or equivalent solutions are all about.

To develop the “Open Source” script that meets with your requirements, the application must be able to support at least 3 document standards: Open Document Format, Microsoft’s Office XML, and China’s Uniform Office Format, in addition to the proprietary XML format used by the application that you use to generate the document file.

Good luck to your “Open Source” script venture!

-Francis

21. Ismael Ghalimi  |  December 15th, 2006 at 2:53 pm

Andrew, Francis,

I love the discussion! Andrew’s bottoms-up approach and Francis top-down reality check should lead us to some very interesting experiments… I’ll push the good folks at ThinkFree and Zoho to provide the right APIs for it.

And as far as formats are concerned — to Francis’ point — we need some more discussions on the subject. This is something that will have to be solved if we want portability across applications.

Good luck!

-Ismael

22. Ismael Ghalimi  |  December 15th, 2006 at 2:54 pm

Ryan,

Sorry for the long silence.

I know Joe Kraus. Tell me what you’d like him to work on.

As far as Wikis are concerned, I’m not a real expert on the subject, so I’ll have to do quite a bit of homework before I can write anything interesting about them.

Best regards
 -Ismael

23. Jonathan Crow  |  December 15th, 2006 at 6:11 pm

Ismael, Andrew, Francis,

I am not sure what all would be needed to create the synchronization you are looking for. ThinkFree does have a manual for our open API’s available at here. Maybe that would be a good starting point for further discussion.

Thanks,
 -Jonathan

24. Francis Ip  |  December 16th, 2006 at 8:59 am

Jonathan,

Thank for pointing to ThinkFree’s API. If my understanding is correct, ThinkFree saves all documents in HTML (or XHTML) format. My experience with this type of conversion has been largely negative, as many features and precisions are lost in the conversion process. Starting in Office 97, documents could be saved in HTML format, but you could never get the original documents back from HTML though! In Office 2003, documents are saved in XML. It looks like ThinkFree’s capabilities are equivalent to Office 97 at best.

I don’t think ThinkFree can handle an Office 2003 document properly. Let me give you a scenario. In my 2003 Word document, I have a Visio SysML (System Modelling Language — an extension of UML) diagram embedded. If I save this document to HTML, the conversion process would save the Visio diagram to GIF (a bitmap format). When I bring the HTML document back into Word, there is no way that I can edit the diagram in vector form! If I use ThinkFree to save my document, wouldn’t I encounter the same problem as described above?

In its current state, all Office 2.0 software can handle simple text documents adequately. I don’t think they will ever handle vector graphics in the forseeable future. Office 4.0 perhaps! Currently, there is only one vector graphic format for the web, which is SVG (Scalable Vector Graphic). As far as I know, none of the office suites, including Microsoft, can currently support SVG in its native form properly.

-Francis

25. Jonathan Crow  |  December 16th, 2006 at 12:17 pm

Francis,

Actually, this isn’t the case. Our applications run natively in .doc, .ppt, and .xls. We have the highest level of compatibility with Office 2003 available online. We are the only suite that is round-trip compatible. It may be that the API is referring only to our Preview function, which does convert documents into HTML.

Having said that, however, there are still things we do not support, such as macros, OLE embedding of objects, and other features that 90% of users don’t use. We are in the process of actively working to support SVG and other formats, and pivot tables are on the way.

Thanks,
 -Jonathan

26. Francis Ip  |  December 16th, 2006 at 7:47 pm

Jonathan,

I’m not surprised at all that ThinkFree doesn’t support macro, OLE, COM, and DCOM. I assume that ThinkFree was developed in Java. The VBA (Visual Basic for Application) engine doesn’t run within the JVM, therefore no macro support. By the same token, Java is not capable of supporting dual-role in an application (i.e. an application that can act as a client as well as a server). OLE (Object Linking & Embedding), COM (Component Object Model), and DCOM (Distributed COM) will therefore never exist in ThinkFree.

By the way, OLE was implemented first in the MS Office Suite that ran under OS/2 1.2 LAN environment back in 1991. Office 95 was the first Windows based application that supported OLE and COM. In the project that I managed for Ontario WCB (Worker’s Compensation Board), MS Office Suite was used to do a lot of actuarial computations, documentation, and presentation. ODBC was used to import and export data between Excel and Data Manager (OS/2 version of DB/2). I believe that I was the first one, in the early 1990s, using COTS (Commercial Off The Shelf) packages to develop applications way before SEI and DoD were seriously looking into COTS for application development.

I wonder where you get that 10% figure from! As far as I know, many enterprises have applications developed and run with the MS Office Suite. These applications will not be migrated to Office 2.0 anytime soon, if ever.

-Francis

27. I study ERP&hellip  |  December 26th, 2006 at 1:45 am

[…] Well, I’ll speak in a roundabout way… […]

28. Tomoaki Sawada  |  December 29th, 2006 at 6:08 am

Ismael,

As we have only 2 days before 2007, I found an interesting presentation to summarize the big trends in 2006. Cetainly BPM 2.0 and Office 2.0 should be included. But here is another way of picking up the big trends. Check this post. There, I love #12 and #13 the most.

My interpretation of [2006 = Business + Design = MBA + MDA] is:

Model Driven Business Strategy (Modeling and Design) Architecture = MBA

Model Driven IT Model (Design and Development) Architecture = MDA

What’s your take?

Regards

29. Milly Jones  |  December 31st, 2006 at 9:06 am

You should check out this article and post a response next time you blog.

30. IT|Redux&hellip  |  December 31st, 2006 at 3:05 pm

[…] Office 2.0 will become a reality: Hit Within less than nine months, the Office 2.0 Database, announced on this post, grew from nothing to over 330 applications. The concept introduced exactly a year ago got its first conference, with over 450 participants, 105 speakers, and 56 sponsors. Zoho emerged as a likely winner in the space, and ThinkFree demonstrated that web browsers are now powerful enough to support most of the features that are offered by traditional Office 1.0 productivity suites today [Disclaimer: I serve as an advisor for both companies]. Google’s release of Google Docs on the first day of the Office 2.0 Conference also gave a clear signal that things are getting serious now, and that past involvements with OpenOffice.org were just smoke and mirrors. Next year, it will be interesting to see wether Microsoft finally releases something of substance under the Office Live brand, and who gets their hands on ThinkFree. The later would be a perfect acquisition for Google, but in the meantime an OEM deal with Intuit or Salesforce.com would make a lot of sense as well. Investors might also be interested to know that the company is giving serious thoughts to the idea of raising a small round of venture funding… […]

31. Francis Ip  |  January 1st, 2007 at 6:40 am

Ismael,

You could only make a claim that Office 2.0 would support most of Office 1.0’s capabilities only if Office 2.0 also supports macro (or script). As far as I know, only Microsoft’s Office and WordPerfect support macro. OpenOffice.org and the like don’t. In the Windows arena, in order to interoperate with office suite, you would use VBA. Examples are AutoCAD, Visio, and MS Project.

One trend is that most IT type of people miss “system interoperability”. They still have a stovepipe mentality! SOA is a good base for implementing interoperability because it supports scripting — an equivalent of macro. Before SOA came along, there were CORBA and COM for interoperability. CORBA is too complex and COM runs on a single platform (i.e. Windows only). With interoperability, it is much easier to locate and consume services. COTS (Commercial Off The Shelf) based systems are one typical example.

In essence, Office 2.0 is still very primitive as compared to MS Office Suite. Apparently, Office 2007 will be able to run in a mixed workstation and Internet mode! One question remains: would it interoperate with other applications like AutoCAD, Visio, and MS Project?

-Francis

32. Ismael Ghalimi  |  January 1st, 2007 at 7:10 am

Francis,

I agree with you, support for macros or scripts is required, and both ThinkFree and Zoho are working on it currently. Interoperability and extensibility are required attributes of a good Office 2.0 productivity suite, and I would expect these to start appearing in product offerings sometime this year. But keep in mind that it might take a couple of years for them to mature to a point where they become really usable by third-party developers.

Best regards
 -Ismael

33. Andrew Baldwin  |  January 3rd, 2007 at 1:22 am

Happy new year one and all…

I had posted something like this in December but it appears not to have made it to the stream… I agree that macros and the like are desirable, but for most practical uses they are not essential — as a very unscientific guess, I’d say that fewer than 15% of people use them regularly.

What people need generally is a means of producing hard copy output, formatted to their needs. When it comes to the crunch, lawyers, commercial managers, judges all refer to the paper document — not to electronic media. There is a whole other thread on digital signatures to be explored here!

To this end, what I believe matters is the ability to import/export information in an open, easily manipulated format. Open Document XML (as used by OpenOffice.org, KOffice, and others) seems a good way to go. If output only is required, then PDF meets the needs — it is doumented, open, and there are plenty of viewers available (not only from Adobe).

Given that, I’m looking for:

1) Simple tools to synchronise text based (XML) files;

2) A well defined schema for document exchange, with a default XSLT mechanism to translate proprietary extensions to something labeled as “produced by software not complying with XYZ standard,” so that lock-in strategies based on ‘enhancements’ are seen for what they are;

3) A clear, simply worded usage policy — free of patent encumberances.

If we achieve that, then we can truly liberate people to use Office 2.0, and by virtue of using simple file formats, we can open up document management systems (synchronization at first, meta-data tagging later…), and by separating out executable code (macros) from the data stream, we can eliminate a large class of malware. And those that truly need complex macros can still use their proprietary tools — just publish the results in an open format.

Cheers
 -Andrew

34. Ismael Ghalimi  |  January 3rd, 2007 at 9:14 am

Andrew,

I like your plan!

-Ismael

35. Francis Ip  |  January 4th, 2007 at 12:07 pm

Ismael,

It is interesting to know that ThinkFree and Zoho are working on the macro support. It would be a big challenge for both of them. Each has to write a transformation routine to map VBA objects, methods, and exception handlings to their Java counterparts. I wonder how the performance will be.

Starting from Office 2003, Microsoft Office runs under a compiled .Net environment. As the JVM always runs in interpretive mode, it will take ages for a ThinkFree or Zoho application to load, translate, and execute the byte codes. OpenOffice.org is a good baseline to project the performance of Java-based applications. It takes 3 to 20 times as long as Microsoft Office to load a Word document in the same workstation. Also, the response is always slow! Moreover, it would be extremely difficult, if not totally impossible, to support OLE on non-Windows platforms.

Corel was the first commercial software vendor that was brave enough in attempting to move WordPerfect onto the Java platform. After wasting millions of dollars and 3 years, Corel had to abandon the Java project. It almost went into non-recoverable bankruptcy. Many WordPerfect users have switched to Microsoft Office Suite since then. These include both the Canadian and U.S. Governments!

It will be interesting to see if ThinkFree and Zoho can really deliver the “full macro support including OLE” within a year or less!

-Francis

36. Ismael Ghalimi  |  January 4th, 2007 at 12:15 pm

Francis,

I do not want to speak for ThinkFree or Zoho, but I doubt that they will try to re-implement the macro language found in Microsoft Office, and I’m pretty sure they won’t try to support OLE either. Instead, I must believe that they will implement a new macro language that will offer some level of compatibility with existing Microsoft Office macros. What this means is that you would be able to migrate simple existing macros, and build complex new ones from scratch. I would also expect better support for Web services and emerging standards such as JSON.

Best regards
 -Ismael

37. Francis Ip  |  January 4th, 2007 at 1:12 pm

Ismael,

Are you sure that JSON is really a standard yet? It is not listed in the IETF standards list. JSON is only an informational memo filed as RFC as follows:

Network Working Group
Request for Comments: 4627
Category: Informational

The application/json Media Type for JavaScript Object Notation (JSON)

Status of This Memo: This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

I am not sure that JSON will become a de jure standard anytime soon. It may go to the same route as Java, which is not a de jure standard, and still under Sun’s control! Java will never be used by the DoD, except embedded Java, because it is compiled and burnt in firmware. In one of the embedded Java meetings, Sun raised objections to a proposal for modification to the embedded Java, because this would infringe its intellectual property. This is how open Java is!

Best regards,
 -Francis

38. Ismael Ghalimi  |  January 4th, 2007 at 1:24 pm

Francis,

You’re right, JSON is not a de jure standard. Yet it’s one of the specifications for structured data sharing over the Web that has the most potential in my opinion. I do not really know what to call it then.

Best regards
 -Ismael

39. Francis Ip  |  January 4th, 2007 at 7:37 pm

Ismael,

I would not call JSON a standard, but a potential candidate for light weight XML. I don’t know whether XSLT would be able to handle JSON or not. If it doesn’t, we need an equivalent of XLST for JSON! IETF is the wrong place to submit JSON for accreditation, it should go to W3C instead. We have 3 file structure standards to work with: ISO’s OpenDoc, ECMA’s OpenXML, and China’s Uniformed Office Language. Do we need another one? I don’t see how JSON would help in developing scripts or macros in ThinkFree and Zoho. The scripting language will most likely be based on ECMA’s JScript (JavaScript). Moreover, I don’t see why ThinkFree and Zoho would invest to support more than 3 file structures, when they need to deal with OpenDoc, OpenXML, and UOL to support partial compatibility! Full compatibility is defined as an application that also supports Microsoft Office’s OLE!

Based on what you speculated earlier, my understanding is that ThinkFree or Zoho can open a Word file, but it will not preserve the file integrity after a document is changed and saved. Don’t forget, for an updated file to work within Microsoft Office again, all macros must be in VBA, not JavaScript or anything else. Otherwise, ThinkFree and Zoho will be one-way compatible with Microsoft Office! In essence, there will be no interoperability between applications. This contradicts what a good Office 2.0 application should be, isn’t it?

Best regards,
 -Francis

40. Andrew Baldwin  |  January 5th, 2007 at 1:53 am

I’m intrigued by the way in which Microsoft has shaped people’s thinking.

Why do we have this blind assumption that macros need to be in the same file as the document’s content? How has the Microsoft Office approach been burned into our collective psyche so effectively? This is a genuine question, as understanding the answer will help shape the Office 2.0 roadmap.

Now for the views of a heretic…

If we really insist on bundling, why not a composite file (e.g. zip or tar) containing a document’s content file and an associated file for macros? Separating them out would also have the added benefit of being able to build up standardized libraries to be used across an enterprise, rather than running the risk of each employee inventing his/her own variant. These libraries could also be digitally signed, or at least have SHA/MD5 checks to detect tampering.

Taking the next obvious step, it is then possible to publish libraries of macros, with a common set of APIs and multiple implementations (i.e. the library defines the interface, and then there are several implementations in VBA, Java, JavaScript, Perl, Ruby, Python, etc.).

If you receive a file with macro X invoked, then you can open it with your chosen application to view the content; should you wish to run one of the macros, you then pick the set of implementations that are supported for your platform and meet the specified APIs.

If you just want access to the content, you can view it directly, with no risk of running active components and associated dangers from malware. See also earlier comments on how most people use office tools, as means to an end where hard copy output is the real business driver. Of course, it is not in Microsoft’s (or the anti-virus vendors’) interests to do this separation.

One final observation: I use OpenOffice.org on my Linux box at home, and the performance is comparable to Microsoft Office on my company Windows XP machine, which has a similar processor and more RAM. The very first invocation may take a few (~10-15) seconds longer, but this is offset by the fact that I don’t have large chunks pre-loaded at boot time and consuming background resources when not being used.

41. Francis Ip  |  January 5th, 2007 at 6:39 pm

Andrew,

I believe that you have no idea what object-oriented software is. Abstraction, encapsulation, inheritance, and polymophism are the basic constructs of object orientation. Objects (data) and methods (functions) are encapsulated in the software itself — a form of information hiding. This has nothing to do whether it is done by Microsoft, IBM, or Sun for that mattter. The way you think is like a typical DOS programmer. Whether you are programmer or not, that I don’t really know.

There are two competing object-oriented implementations, Microsoft’s COM with OLE and Sun’s Java that adheres closely to OMG’s CORBA. COM applications can function as clients as well as a servers that can create compound document swith objects from different servers (e.g. AutoCAD, Microsoft Project, CorelDraw, etc.) Java programs have a clear-cut boundary, either as client or server, but not both.

Therefore, an object-oriented program, be it written in Ada, C++, C#, VBA, or Java, always has functions and data encapsulated within.

-Francis

42. Andrew Baldwin  |  January 8th, 2007 at 2:01 am

Hi Francis,

I believe we have now hit the root of the issue:

What is office software for? Is a word processor…

a tool for delivering a document

OR

a programming environment for delivery of compound, active, executable objects?

If the latter, then I wholeheartedly agree that object bindings in the form of active components and data should be encapsulated into a single item.

I would argue however that if you took a straw poll of “ordinary business users”, then most (probably an overwhelming majority) would see word processors as a “clever typewriter”, and no more. It is this vast bulk of users that I believe we should be looking for as target user population for Office 2.0. Indeed, many organizations deliberately prevent or discourage usage of macros to prevent a whole class of malware attacks.

My gut sympathies lie with the “uncomplicated” simple document approach.

As for progamming models — I personally favour the UNIX based approach of separating out dedicated components and keeping data well away from executables. If this is old fashioned, then so be it, I just need to wait for a while. And given the way this industry works, it’ll come back in another guise sooner or later.

In the interests of not hijacking the thread into a philosophical discussion about paradigms and pragmatics, I’m planning to let the subject drop and acknowledge differing views.

43. Francis Ip  |  January 8th, 2007 at 8:00 pm

Andrew,

There is no need to subscribe to a hosted word processor over the Internet. WordPad is free with Windows, and you can save your documents in RTF, which used to be the standard format to interchange documents on different platforms. If you just want simple ASCII text with practically no formatting, Notepad would do nicely.

Separation of data and functions caused a lot of infightings within IT departments, begining in the mid-70s. I have witnessed data centric organizations ignore processes totally. Data models drove everything. In process centric organizations, data management took many forms or shapes. The same data field could be used for multiple purposes in a file or even a database. A Redefine in COBOL, or a new data structure in PL/1, would do the trick. In those days, 90% of the annual IT budget was spent on software maintenance. Dr. Edgar Codd did a good job in publishing his seminal work on the Relational Model by applying Set Theory and Conformal Logic, in order to come up with data normalization for databases and files. Separation of functions and data was practiced in the days when the first ENIAC computer became available for serious numerical computing.

Object orientation came from 2 sources. IBM’s System 38, now AS/400, was based on the concept of objects. Everything in that system is an object, but its native language was RPG! Xerox completed a piece of research work in document management — creation, routing, printing, and archiving of soft documents. Everything was based on the concept of objects, with the characteristics of Abstraction, Encapsulation, Inheritance, and Polymorphism. Smalltalk was the first object-oriented language. The system had a graphical user interface. Mac, X-Window, and Microsoft Windows are the decendants of that graphical interface. Documents were routed over an internal network (i.e. Ethernet). The workstation’s OS was called Star. The mouse, developed by DEC, was also introduced into that research project. That was how we got the WIM (Window, Icon, Mouse) man-machine interface paradigm. From object-oriented programming, we got OO design, and OO analysis, and then UML (Unified Modelling Language).

History repeats itself, similar to the structured movement og the mid-60s — Structured Programming, Structured Design, Structured Analysis with DFD and IDEF. If I recall correctly, C was the first programming language that got objectified by AT&T Lab, thus C++. Ada, Pascal, Basic, and Java followed. Today, we even have object-COBOL, if you want it. The whole point of object-oriented software is that you can call on services without integrating the source code from another piece of software. When you compile a piece of code into a DLL, you can invoke its service(s) by creating an instance of it, pass required parameters, and wait for the DLL to return you the result(s), without knowing what is inside in this piece of code. DLLs can be invoked as in-process calls, or remote procedure calls. Moreover, the call can be synchronous or asychronous if you spawn multiple threads. Mind you, you can still have data stored separately in databases or files. When there are enhancements to the DLL, you don’t need to know about it. When you invoke it, it will take appropriate actions based on your input parameter(s). This is the case when Polymorphism comes into the picture.

If you prefer to integrate all available routines into your program as one monolithic program, by all means do it. I believe that you will have a hard time maintaining it and keeping it up-to-date when new routines become available though. The key advantage of going the object-oriented way is the ability to re-use and share software components!

My point is the following: why would you pay a monthly fee to subscribe to a simple word processing service, when you could do it with WordPad and share your documents with others through e-mails? If you keep a copy of up-to-date documents in your free e-mail account, you can use Windows, Macintosh, or UNIX to work with that document saved in RTF.

The advantage of using XML-based documents is that both humans and machines can read it. RTF is a binary file, it is very difficult to decipher what is inside! If you are an expert at reading memory dumps, it is a different story of course!

Personally, I would not retire my Microsoft Office Suite anytime soon and subscribe to crippled word processing services, even if they are free. I still need OLE capabilities to integrate my documents (e.g. Proposals) and share them with my associates over the Internet to bid on consulting projects. In essence, a proposal must reflect what a potential client stipulated in the RFP. When the client wants to see a GANTT chart of your proposed project, you embed the schedule into your Word document from Microsoft Project. If you need to present a conceptual model, you would embed a Visio diagram into the Word document as well.

I was almost tempted to subscribe to Zoho and ThinkFree. I was going to try them out with my associates in Vancouver, Canada. When I tested them out, they were practically useless for the preparation of proposals! I will stick to my free e-mail account approach in sharing working documents and combining them at the end to form a proposal.

OpenOffice.org wouldn’t cut it either. I tried it out by embedding a Visio diagram in a document. When I saved the document as PDF, the diagram was all garbled up. Talk about low-grade compatibility!

One thing I would do as a consultant is that I would only recommend clients to get Microsoft Office Professional Edition for professional staffers, and get OpenOffice.org for workers who do not need to do heavy duty formatting in documents. In terms of documents sharing, Microsoft SharePoint and Exchange can do the job more than adequately for an Intranet. According to AIIM, SharePoint 2007 can interoperate with other ECM products available on the market as well.

I couldn’t agree with you more, it is the right time to end the debate.

Cheers!
 -Francis

44. IT|Redux - ThinkFree Love&hellip  |  February 14th, 2007 at 6:46 pm

[…] Now, here is how you can get your Valentine’s gift: if you have a public blog and are willing to share with your readers your experience using ThinkFree, be it good or bad (good is better than bad of course), all you have to do is send me an email with your regular mail address and the URL of your blog. You will then receive a brand-new USB drive fully loaded with the ThinkFree application, which I wrote about in this past article. And because the good folks at ThinkFree like to share the love, we would very much appreciate if you could spread the word with friends and family. We’ve got lots of these drives waiting for them! […]

45. IT|Redux - First Koral, t&hellip  |  April 10th, 2007 at 9:38 am

[…] With its strong document management capabilities, Koral will allow Salesforce.com to better manage unstructured data, but being able to store documents is not all that exciting if you cannot produce them from structured data, nor share them outside the boundaries of your organization. For such purposes, I would recommend that Salesforce.com takes a look at ThinkFree and EchoSign (covered here and there). […]

Trackback this post  |  Subscribe to the comments via RSS Feed

Leave a Comment

Required

Required, hidden