For many, one of the principles of agile is delivering working software over comprehensive documentation. Software developers often see it as a pain to create the documentation. But the documentation is a must and required by managers, customers, collaborators, etc. so it is important to find approaches and tools which can help us document our products.
Swagger MVC scans in given package path for Spring MVC annotations and turns it into Swagger API specification. It tries to extract API resources from @Controller classes and API calls names, HTTP methods, request and response type from @RequestMapping methods and so one.
It also supports @ApiOperation and @Api annotations, but @Api was not working for me from some reason.
API specification can be rendered as xml or json.
Swagger UI uses json API specification to build nice looking visual documentation which contains also prepared REST client for each call.
To set up your Spring MVC project together with Swagger just add Maven dependencies and follow simple instructions which you can find on project site.
I had only three problems during using Swagger. @Api annotation was not working for me, extensibility module is poorly documented and I didn’t get it working and Swagger is not following Jackson custom serializers and deserializers.
I tried also JSONDoc but it doesn’t use Spring MVC or JAX-RS annotations to build your documentation and you have to write your documentation through jsondoc annotations which is not so productive, especially when your API is changing during early development and you need to provide documentation to collaborates.
There is news coming in that Amazon will start marketing a Smartphone soon. If you connect the dots from past it will seem an obvious course for them. They already have most ingredients in place: customized Android UI, App Store, hardware in Tablet form factor and operator relationships as part of the Kindle franchise. The only question is: will it be a me-too offering or a different take on Smartphones with mobile voice and data bundled. I think it will be the latter. Most likely digital content and Amazon prime will also be somehow involved.
But Amazon’s Smartphone is not the topic of this post. Over last decade, we have seen the classic ways in which we structured the industry as hardware manufacturers, consumer and enterprise software companies, Internet web services, retailers and so on fade away. Google does everything, so do Apple, Microsoft, Amazon and Facebook. I will leave HP, Oracle, IBM and SAP out of this discussion for now.
How did we get to this new world and why it’s important to understand it? I am of the opinion that it was, in fact, Microsoft that started this “trend”. They went from a Basic interpreter to become the most valuable company in the world in the 90′s by executing well on many fronts and being ruthless with competition. The innovator’s dilemma didn’t seem to apply to them and they clearly understood that they will not be “killed” by direct competition with a better operating system or office suite. They already had very strong network effect and OEM relationships to protect that. The threat will come from new players which will originate during a paradigm shift. And the first shift to really test them came from the Internet and their response to Netscape, the Internet pioneer, is well documented. I believe Netscape didn’t die because of Microsoft but poor execution. You can build a successful applications business on Windows platform even when Microsoft is in your direct competition. Intuit vs Microsoft Money is a case in point, but let’s leave this for other discussion and get back to our main topic.
So, when you combine paranoia of the innovator’s dilemma, ability to execute well in multiple areas and history of winner takes all in Software and Internet businesses, it becomes more clear why everyone is fighting on every front. The modern tech giants are remarkable companies. They can put together new HW, SW or services within a matter of months. The incentives to control the whole ecosystem are immense and the downside to leave any loose ends catastrophic.
The important IT opportunities for next couple of years are Mobility, Cloud Computing, Social Networking, Big Data and E-commerce. E-commerce here includes both digital and physical goods. The companies to thrive will be the ones with successful ecosystems and strong consumer lock-in. Today’s Tech giants know this very well and therefore everybody does everything.
So, where does this leave you as a Tech Entrepreneur? It should not make much difference to you in terms of what’s important. You won’t succeed unless you are world-class in whatever it is that you do and have determination to go past the tough first few years. You should, however, understand the trends and ecosystems you operate in and pick your battles wisely. Do not align yourselves too tightly with one ecosystem or vendor. And lastly, focus on the ability to execute fast and turn the ship when tides shift.
In his 2005 Stanford commencement speech Steve Jobs talked about connecting the dots looking backwards. Here is exactly what he said, “Again, you can’t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future.”
Reading the story, Apple’s inevitable path to a post-PC era (http://gigaom.com/apple/apples-inevitable-path-to-a-post-pc-era/), at GigaOM got me thinking whether Apple is as smart as we make them out to be. Do they have a grand plan whereby they first got us used to using click-wheel on the iPod, then multi-touch gestures on MacBook trackpads, eventually leading to iPhones and iPads? Can someone, even Steve Jobs, or other brains at Apple plan the evolution of human computer interface 10 years in advance? Are we reading too much into the path to post-PC era?
Apple had the foresight to build a great user interaction with touch interface on the iPod and from then on it was evolution or logical progression, even baby steps towards the iPad. I seriously doubt that back in 2001, while designing the first iPod, Steve Jobs (or other designers at Apple) had formed the ideas for the iPad in it’s present form.
This also leads to interesting thought experiments. Where are we going in human computer interaction? Will it be once again Apple that will help us get there? What will the combination of Siri, Google Glasses like display, Kinect like gestures, Near Field Communication and ubiquitous LTE connectivity take us? There are many possible combinations and usage of these technologies. The great thing is all of this is here and now. Amazing times.
In the modern world of mobile money and all kinds of electronic forms of money there would seem no room for innovation in good old paper and metal coins. However, human imagination is a remarkable thing and when we set out to create the Czech Money app for the Czech National Bank the flow of brain-storms was nonstop. We zeroed in on creating a universal app that will cover all the secure elements, use accelerometer and have pixel perfect graphics. The result is one gorgeous app. The app was recently covered by Reuters.
The app is available for download at: http://itunes.apple.com/cz/app/ceske-penize/id491710906
Irrespective of whether it was Steve Jobs who came up the new name (noname?) for the iPad or it’s the post-Steve Jobs management team, this is a master stroke from Apple. This is a company that thinks decades in advance and you can see the signs of things to come in subtle ways. Back in 2007 when they dropped “Computer” from their name, it had to be obvious that they were signaling the dawn of a new era. An era which Apple will help create. The mobile and PC industry is still trying to understand the ramifications of that change.
The new iPad or dropping versions/numbering from the iPad name is a similar change. They could have called it iPad HD, iPad 3 or even iPad 2S and no one will blink. But they didn’t. And they didn’t do it because they want to pull the iPad away from the iPhone and generally the Smartphone market. The iPad was conceived before the iPhone with the vision for a post-PC world. In the PC world (including Macs of course), you do not see naming like MacBook 1, Macbook HD and so on. You go to a shop and you buy an iMac or a Macbook. Now there are, of course, different products in PC product lineup like Macbook Pro, iMac, Macbook Air and so on, but they do not signal a generational change. They simply fulfill a different need. This is what is going to happen to the iPad. You will buy the new iPad and not iPad this generation or that generation. This will also help with people waiting for the new generation and comparing the iPad with other “tablets”.
Will this work? Or better yet, why this will work?
With the iPad, Apple is in a class of its own. The copycats have not caught up in terms of technology, utility, ecosystem and even price after more than 2 years. With this move Apple has signaled that they are the only game in town. As always, Apple doesn’t care if the analysts and competitors have mis-understood them. The new iPad will blur the lines with PC even further and make people think of the iPad when buying a PC. With increased focus on creative tools for the iPad and better connectivity options, the iPad will replace the PC for a large number of users.
Now only if they will release Xcode for the iPad I can dump my Air completely.
Back in May, when Steve Jobs was still the CEO of Apple, I opined that the best thing Steve Jobs created was not the Macintosh, iPod, iPhone or the iPad, but Apple itself, the insanely great technology company.
There have been many great tributes to SJ, but I particularly liked with one by Jeff Bezos. He said something to the effect of: “Steve created three companies in his lifetime, the first Apple before he was ousted, Pixar and the Apple he resurrected when he came back to an almost bankrupt company”. When you think deep about it, you find how profound an impact SJ in fact had. He helped launch the PC industry, helped create one of the most profitable film genre of recent years (computer generated animated films), changed the music industry, changed the telecommunications industry and was leading us into the post-PC industry. If this is not super-human, I don’t know what is. All the while he made it look easy. Which is a true mark of a magician.
The remarkable thing here is that it takes a different kind of persons to create a startup, then turn it into a well-oiled functioning profitable machine and eventually run a public company. SJ did this 3x over and ended up creating the most successful technology company the world has ever seen.
Think of it this way, the impact SJ had in his 35 years career almost equals the impact Alexander Graham Bell, Walt Disney and Jack Welch (also created the biggest publicly traded company during his tenure) have had spanning multiple lifetimes and careers.
Can’t wait for Walter Isaacson’s official Steve Jobs biography.
“We are committed to demonstrating unquestionable dynamic metamorphosis by quality products and improved returns from the top down.”
“Our value proposition is to recontextualize modular capabilities to capture market share while exceeding expectations”
OK, those are not our vision or mission statements. In fact, those are generated by a computer (on a side note, the Dilbert mission statement generator is gone with the new redesigned site). There is even an app for that: http://itunes.apple.com/us/app/mission-statement-generator/id319708231?mt=8. But I can totally imagine some large corporate paying top dollars for a mission statement like that.
Every so often I am asked about our vision or mission. Growing up in India, one thing we were told from childhood was to not chase fame or fortune. Just add value and the success will follow. How does this tie into a vision statement? Does a company even need a vision statement? I think it’s Guy Kawasaki who suggests having a mantra. And things like Apple’s “Think Different” or Google’s “Don’t Be Evil” or “We Want To Organize World’s Information And Make It Universally Accessible” qualify as mantra.
So what do we care about at ZENTITY? Do we want to be next Apple/Google/IBM? Are we building a Zynga/ngmoco/Chillingo of Europe or the Czech Republic? No, the answer is rather simple: we are building ZENTITY. Just as Google was not next Yahoo. We are not next anything. And what do we care about at ZENTITY? It all started with a basic idea, way before we even had the name for the company: human potential is a terrible thing to waste. And that’s what we care about. Let every one, every single one become the best they can be. Great results come automagically (and it does seem like magic to some :-)). We combine that mantra with our belief and focus on mobility, which in our perspective is the most important phenomenon of our times. We put that together and let great people run with their ideas. That’s pretty much it. We have applied this successfully to areas as diverse as Gaming to Media to Financial Services. The common thread being: mobile solutions.
I think it’s Mark Pincus who suggested that everyone in your company should be a CEO of something. That makes total sense. And as Steve Jobs says: “when you’re the janitor, reasons matter. Somewhere between the janitor and the CEO, reasons stop mattering.”
So, there, we have our vision and mission on record.
Even though I love blogging, for one reason or the other I simply can’t find time to keep our blog up to date. A lot has happened since my last blog post. We launched three more apps: Hyundai on Galaxy Tab, DuoFax on Android and REAL-CITY on Blackberry. In fact, calling them apps doesn’t do them much justice. I personally prefer to call them mobile solutions. The apps are created as solution to a need and a lot more than the native client component is involved.
In other tech news, Google+ was launched to great fanfare. I barely realized when I became +Abhishek, and it’s no wonder 20 million users were reached within days. The products packaging is fantastic and Larry Page is already making an impact (as if, PageRank was a small feat :-)). The sign of great companies is their ability to evolve. It’s pure darwinism. Evolving creatures can’t afford to have innovators dilemma. Eventually, Search will trump pure play Social Networking. The idea of circles not being symmetric is a genius. In one fell swoop, Google has challenged both Twitter and Facebook. For some reason, the most active person on my wall is Sergey Brin and I know all about his trip to Egypt. This would not be possible on Twitter or Facebook. Of course, whether anyone cares is not a question which technology can answer.