OpenCoffee Club

Place for people who love startups to hang out and meet

Can we make profit from current and upcoming IT innovations?

Original blog post

I would like to point out some promising technologies and trends that are worth exploring in IT. Creating or rewriting software for a specific platform could be quite a successful business model. New technologies also come not only with technical/development benefits, but a lot of excitement that can shorten development time. I believe that some profit can be made by utilizing some of the following:

1. Platform development:
An example of such platform is SalesForce.com, which provides access to its business core functionality through web services. SalesForce.com can be called a typical SaaS provider. Writing an application on top of such a platform can have the following benefits:


* You don't need to reinvent the wheel and you do not have the time and money to do that. Suppose you have some analytical background and you want to write a sales reporting and forecasting application. The usual scenario starts with first creating an application that records the sales entered by employees, then you need an user interface for the customers . . . etc. All this means that half of the time you will be focused on developing the input and storage components. So it is much better to write a module to an existing platform that provides the basic functionality, so we can focus on the real problem, without first depleting our enthusiasm and funds with ordinal stuff.

* Low-cost hosting can also be provided by a platform. In the case of SalesForce.com you need to code in a proprietary language called Apex which is something between SQL and Java and I suggest that it is making heavy use of triggers. You also do not get a compiler for this language. SalesForce.com also provide other tools, patterns (like MVC) in order to facilitate developers. In some respects using the core SalesForce.com technologies might seem as a vendor lock-in. Vendor lock-in means that by using proprietary technologies in one moment or another you realize you don't like something about these technologies which might means that the vendor has changes its politics, but there is nothing you can do as rewriting that software is too expensive. SalesForce.com gives you a choice between providing you with hosting, better communication between your module and the core system (no thick SOAP communication), possible vendor lock-in and a second option where you can write a module in many language like .NET, use your own hosting that you probably already pay for, have slower communication between the two applications. You should also be aware what downtime a platform "provides"? 99.9% downtime may seem low but it is 8 hours a year. If you are using your own hosting and communicate with a SaaS platform you need to calculate that second hosting downtime too. In the worst scenario you might have two consecutive downtimes from each hosting provider ending up with more than 10 hours(each 5 hours) combined service unavailability which might make your customers go crazy and even all your business may collapse, because your platform/hosing providers have failed you. Those are circumstances that do not depend directly from you. For example I have experienced 100% data lost from the hosting provider VPSLAND.com and recommend that you do not use them as they also have no phone support.

* When writing for a platform you gain access to that platform existent customers. Hundreds of good products have failed just because companies did not how to market their product or their funds have depleted at the point when the product was ready. A platform like SalesForce.com provides a market place for applications based on SalesForce.com.

2. Cloud Development

You could create applications specifically written in python for
Google Apps
and utilize all Google services like mail, calendar, documents that are considered flawless and stable and also use Google as reliable hosting provider. SalesForce.com have code that acts like a bridge between Google Apps and SalesForce.com services and by that you gain more ready to use/integrate applications in your own application.

Amazon Services
I recently bough an application that creates backup of my files on Amazon Simple Storage(S3). We all hope and believe that S3 is absolutely reliable and it is also cheap (and I suppose simple), so it drives customers use it in the form of products that you and I could be developing.

Windows Azure
We were waiting for MS answer to the clouds challenge. They did it with a well defined conception and integration for developers, but software still needs to be made aware of this new platform. Something needs to be rewritten and someone is going to pay for that I guess. What bothers me is that MS haven't stated how much the service will cost. It is supposed to be cheap keeping mind Amazon prices. So it is the risk to be an early technology adopter, but that's also the key to success.

Task Parallel Library (TPL)
That is a .NET library that utilizes the full power of multicore processors. A lot of CPU power has been lost just because Parallel programming was never made easy enough and TPL provides constructions to simplify that. In simple words you change "Thread" with "Task" which is a more advance conception. The technology decides how many "real" threads should be used and it acts like a scheduler inside the scheduler of the OS. Rewriting a math library using this new conception might create quite a good product from performance point of view in places where calculations could be made parallel.

DryadLINQ
The goal of DryadLINQ is to make large-scale, distributed cluster computing simple, simple enough for ordinary programmers. DryadLINQ will use TPL (see above), but it will also use other machines which will make .NET applications quite scalable. I think DryadLINQ will be at the bottom of Windows Azure.

Hadoop
Is the name of a small elephant, besides that is a Java framework for grid computing with failover features. It's proprietary version is used by Google core services and it is known as "Map/Reduce" and it's open source version is known by the name Hadoop and it is used by Yahoo (right that Yahoo). Software needs to rewritten to make use of "Map/Reduce" as you need a good understanding of the architecture of "Map/Reduce" and how algorithms are applied on this grid technology as it is not suitable for every purpose.

3. Game development
Unity3D is a game development framework. What is special about it?

Advantages:
- It produces binaries for MacOS X and Windows(in the Pro version only).
- It has a 3MB web browser plugin. It supports Windows and MacOS X browsers but not Linux.
- Games can be be published on the iPhone and Wii.
- It states that it supports all major 3D models formats.
- You can write scripts in: Javascript (hate it), C# (Mono), and Boo (Python-like language).

I must also note that that Mono has added support for managed access to the SIMD instructions which definitely helps game developing and that's a feature that is still unavailable on Microsoft .NET Framework. As a matter of fact MS have "Managed Direct X" - wrapper classes around Direct X (COM objects I guess), but such code is not multi-platform.

This is a nice review of Unity3D.

Disadvantages:
- You need a Mac to develop for Unity3D, which is not such a problem indeed.

Unity3D seems quite a promising company. The iPhone and the Wii are quite popular these days. Unfortunately they are privately held or venture capital funded and I can not buy shares :-)

4. Semantic Web
An example of a good online project that is using semantic webs is Twine. You supply Twine with your Internet bookmarks, then Twine looks at the content and parses it automatically for the names of people, places, organizations and other subject tags. Users are then able to navigate between related content, view recommended content and connect with recommended people with related interests.

Twine understands about your data (based on your bookmarks) more than a static text search engine. You can view the social network as way to use that technology.

There will be more and more web applications that have a deeper "understanding" of data.

Views: 9

Comment

You need to be a member of OpenCoffee Club to add comments!

Join OpenCoffee Club

Badge

Loading…

© 2024   Created by Saul Klein.   Powered by

Badges  |  Report an Issue  |  Terms of Service