It was 20 years ago today... November 18, 2011
It was 20 years ago today that I embarked on an epic computer journey that defined my life as a coder and a business-person. On November 17th, 1991, I laid down the first lines of code for the Mesa spreadsheet.
Mesa was a spreadsheet for NextStep and continues (without my help) to be a spreadsheet for OS X (which is the updated version of NextStep.) At the time I started coding Mesa, the spreadsheet category on NextStep was surprisingly crowded with an entry from Lotus, the amazing, but non-traditional Improv, and WingZ from Informix. Additionally, a venture funded company was working on traditional, native NextStep spreadsheet called PowerStep.
I built a company, Athena Design, while building Mesa. We launched Mesa in August 1992 and within 6 months, Mesa was the dominant spreadsheet in the NextStep market. While some called me a Lone Wolf, in fact Athena and Mesa were an amazing collaboration by a stellar team. Put another way, I built Mesa and Athena with a little help from my friends (at this point, please start listening to the Beatles Sgt. Pepper’s)
What was amazing about Mesa was we built it based on talking to spreadsheet users in the NextStep community. NextStep sold heavily into financial services and those folks wanted to be able to tick real time data from Reuters and other data feed services, perform calculations, and trigger external events. Mesa did this. In fact, working with IBM and Reuters in the late 1990s, I discovered that Mesa was the original art for the “Real Time Spreadsheet.” Additionally, Mesa was an early example of a spreadsheet component that could be embedded in other applications (maybe it was the first, although my friend Debby Meredith apparently wrote a Smalltalk spreadsheet that could be embedded as well.)
While the Next, and subsequent OS/2, OpenDoc, Taligent, and Be markets were not large enough to support a growing company, what Mesa represented was that a small team of amazing people who listened to users and mixed in some of their own vision could fundamentally change the landscape.
Five years ago, when I discovered Scala and started coding Lift, I made the decision, once again to eschew the status quo of MVC and, instead, learn from what users and developers need. For the last 4 years, Lift has been the best web platform for building Comet, Ajax, and Secure web apps. Lift has grown and evolved, yet the core decisions about how Lift worked have remained correct and solid, and users like Foursquare and the Guardian agree.
Modeling Lift and Mesa on user-needs rather than machine needs is a different approach. It’s an approach that centers the product on the user rather than the machine. Sometimes the difference is subtle and sometimes it’s not, but in the end, and as Kernighan and Ritchie taught us, people time will always get more valuable and computing cycles will always get cheaper.
Now, today, 20 years to the day after I started my epic journey, I am launching into a new journey: Visi.Pro.
Visi.Pro brings Cloud Computing to the rest of us. Visi.Pro is HyperCard for the iPad. Visi.Pro lets users build iPad/iPhone apps on the iPad (or Mac) and deploy them seamlessly across the Cloud including using Cloud resources such as persistence, data sources and data sinks.
Visi.Pro provides a complete environment from language to IDE to run-time to data/app/component emporium. Visi.Pro provides a complete environment for the rest of us to create interactive, powerful apps. A video of the vision, a vision statement, and more can be found at http://visi.pro.
Building Lift and the Lift community, I have realized that standing on the shoulders of giants is the best way to build something world-changing. The best giants around as the folks who make up the open source world and a substantial portion of Visi.Pro including the language and much of the iPad code will be open source under an MPL license. This means that if others want to build stuff off the Visi language, a language so simple and powerful that any Excel or PHP developer will be at home with it, they are welcome and encouraged to do so. You can check out more about the language and such at http://visi.io Please check out the code and the community... please contribute back to the conversation and the code.
Building Visi.Pro and Visi.io will be a long, tough learning process. It’s going to be interesting to learn from the PHP and Excel users in the world. It’s going to be great understanding the kinds of things business people and moms and teachers want to build on the iPad. It’s going to be like skiing double-diamond black slopes to build an invisible type system into Visi so that the users are always guided to do the right thing. It’s going to be spectacular to get the Program Language Theorists to work through a type algebra (yes, Visi will allow an algebra in the type system) along side a teacher describing a grading app. But what will really generate a tsunami of joy is when people are able to build amazing, interactive, real-time, cloud-backed apps on their iPad. I can’t wait for that day and I know it’s going to be a long, tough, and spectacularly rewarding journey for all involved!
Before I ask you to join me on this journey... before I ask you to join the Visi conversation, I want to talk about some changes in me and how this will impact the Lift community.
For most of my career, I have aligned myself with the dark horses and the lost kittens. I bet on an ousted Steve Jobs and his Next platform. I bet on OS/2 and OpenDoc when Windows was a better choice. I bet on Jean-Louis Gassée and BeOS because he told great stories about RepoDepo. I bet on Java and WebLogic in 1996. I bet on Scala. Some of those amazingly risky bets worked out and others, well, didn’t. This time, I’m betting on the clear winner. It’s clear that iOS will dominate the OS/computing landscape for the next generation. It’s clear that the cloud and interconnected and partially connected computing will be the way it’s done for the rest of my professional life.
So, rather than choosing the dark horse, I’m going to bet on the winner. And rather than choosing an existing category and simply building the best technology for that category, I’m going to create a new category (or more properly revive a lost category... the category of “everyone can program this machine and make it beautiful” category.) I’m going to fundamentally change the way people program for the iPad and the Cloud. I’m going to kick a dent in the universe.
My commitment to Lift remains. I love Lift. I love the Lift community. I remain in awe of the amazing committers. I am stunned and amazed by the folks who have committed to using Lift and I remain committed to Lift and the folks who have adopted Lift. For most of 2011, I have spent about 12 hours a week in the Lift community... working on the mailing list and closing tickets. Most of this year, I’ve been doing Lift-related consulting and much of my contributions to the Lift code-base has been for my clients. I will continue to spend 12 hours average a week in the Lift community. What is going to change is that the tickets I close, the code I write for Lift, is going to be entirely community-focused. It’s going to be based on what the community needs rather than what my clients need. Longer term, I will find a way to make Visi and Lift play together. They are both my children and I love them... although sometimes newborns need a little more attention than 5 year-olds. The key change is that I will not be available to consult on Lift-related projects in the future.
So... what do I want from you?
I want your brains. I want your input. I want your language ideas. I want your app ideas.
Are you involved with Rust, Roy, Haskell or other amazing languages? Have you built stellar iPad apps like Codea and Blueprint? Please join the conversation. We can share ideas and together be more than the sum of our individual parts.
Are you someone who wants to build something on your iPad? Something beautiful and amazing? Something that you can share via the cloud with others in real-time? Something that sucks data from SalesForce, Twitter or a million other data sources or sinks on the Internet? Please join the conversation.
Visi.Pro is going to be a totally epic journey and I look forward to you joining the team and making Visi.Pro life-changing for millions of iPad users.
PS -- Visi.Pro and Visi will always be defined, developed and built with strict adherence to Apple’s policies about what it allows on the App Store and on the iOS. Visi.Pro, like the amazing Codea or Numbers, is a development environment and interpreted runtime. I welcome any public or private (at Apple’s option) conversation with Apple regarding Visi.Pro to clarify the iOS and App Store rules and to insure that what we do with Visi.Pro is done clearly on the correct side of the line and with Apple’s happy blessing because, at the end of the day, our goal is to empower iPad and iOS users to rock their respective worlds!