Category Archives: Event Report

Event Report: Startup Saturday Pune on Technology in Education

(This report of the Feb 2011 Startup Saturday Pune, by Vishwa Vivek Garg, first appeared on eventNU, and is republished here with permission)

For the Feb 2011 Startup Saturday Pune on Technology in Education, we got speakers from IndicThreads, Millenium School/ myEshala, NextLeap, Synthesis Solutions & kPoint.

IndicThreads – Harshad Oak

It started with Harshad Oak of IndicThreads.

IndicThreads organizes tech conferences such as java, cloud computing, mobile computing, etc. As of now it is only within Pune but in long run they want to spread all across India. These conferences are paid and the overall response is good. Harshad used to work for Cognizant before he started (along with his wife) IndicThreads. He is basically a Java guy and got some renowned certifications. He also authored a Java book. While sharing his entrepreneurial journey, he mentioned that writing a book on Java helped him a lot starting his venture.

So do something & participate in various things so that people start recognizing you.

Millenium School – Nikhil Karkare

2nd presentation was from Nikhil Karkare of Millenium School. He talked about the concept of ‘no school bags’ for children of Millenium School. It is a day boarding, state board school where kid gets almost everything within the school campus. Kids don’t take any school bags to school. They give books/ copies within the school and kids practice it.

He mentioned that since the concept of no school bag was new, initially they faced some difficulty convincing the crowd.

A related query arised, “how do parents know what their kids are doing in the school?”. They daily send sheets of whatever their kids have done during the day.

He also talked about their learning tool called myEshala where they provide video CD to parents for the syllabus and child can practice it at home as well.

NextLeap – Suruchi Wagh

3rd presentation was from Suruchi Wagh of NextLeap.

NextLeap is a recommendation engine for students seeking admission in American universities. They work on freemium model where they suggest 3 universities free of cost. They have 2 other accounts called economy & advanced where they suggest more universities and support on phone as well.

They have 3 guys on advisory board and Alok Kejriwal of Games2Win/ Mobile2Win/ Contest2Win is one of them.

Synthesis Solutions – Swapnil Patil

4th presentation was from Swapnil Patil of Synthesis Solutions.

Swapnil talked about his new venture in education field called GetAdmission.in

kPoint – Avijit

Last presentation was from Avijit of kPoint.

kPoint is a product of GSLab (a soft. dev. comp.). It is a cloud-based solution for multimedia learning and sharing in fast moving organizations. kPoint enables easy capture of expert knowledge into multimedia kapsules, which provide searchable video and flexible navigation of content for informal learning. kPoint effectively overcomes the barrier for creating and sharing content.

With that we came to an end of the event and then participants networked with each other over cold-drink and snacks. It was a successful event with around 80-90 participants.

Next meet will focus on how to take your idea/ product into the market.

About the Author – Vishwa Vivek Garg

Vishwa has 11 yrs. of rich web development experience in which he has worked at various levels from software engineer to project manager. He has worked with startups as well as well-established software companies. He loves the startup culture and tries to help the ecosystem. He has managed startup meets in Pune, India for more than a year through Startup Saturday Pune Chapter.

Vishwa co-founded eventNu.com as a hobby project and it helps him understand various aspects of running a business. He is very hopeful that this will help him in his journey towards entrepreneurship.

He consults with startups on development and business strategy.

Event Report: TechWeekend Pune 7 – Mobile Application Development

TechWeekend Pune 7, on Mobile Application Development was held on Saturday, 19th Feb. These are the live-tweets, collected here for your benefit. Remember, they are live-tweets that were being typed while the event was happening, so they’re not necessarily as coherent and as well-organized as a regular article.

Windows Phone 7 by Mayur Tendulkar

The first talk was by Mayur Tendulkar talking about Windows Phone 7

  • This talk is a basic overview of Windows Phone 7. Important now, because Nokia has now thrown its weight behind it.
  • “If windows is not behaving well, you format your drive and start again. MSFT did same with its Mobile OS. Win Phone 7 is completely new”
  • Mobile phone world suffers from large number of devices of different resolutions that behave differently. This is not true of Win Mobile 7. Windows Phone 7 insists on a standardized hardware & screen configuration. So your Win Phone 7 will always look and behave the same.
    • WinPhone7 screen config: 480×800 or 320×480. No other sizes allowed. S-LCD/AMOLED capacitive touchscreen. 4-point multi-touch
    • WinPhone7 will always have these sensors: A-GPS, proximity sensor, accelerometer, compass, light.
    • All WinPhone7 devices must have these three buttons: Start, Back, Search. (As usual, to shutdown, you press Start 🙂
  • App Development for WinPhone7: regular apps using Silverlight, and game apps using XNA.
    • “Silverlight is just like Flash”. Modern app UI framework. Apparently has 500,000 developers spanning windows, web (and now mobile)
    • Visit the Tata Nano site or the Hard Rock Cafe New York site to see some cool uses of Silverlight
    • The XNA framework for game development is mature and widely accepted – because it was in XBox 360, Windows and Zune.
  • WinPhone7 developers get all the goodness of Visual Studio for developing mobile apps with Visual Studio 2010 Express for WP.
  • Other developer tools: Silverlight Dev Kit. XNA Game Studio 4.0. Expression Blend 4.0. Also VB for WinPhone7.
  • All these development tools for WinPhone7 are free.

This was followed by a walk through of building a WinPhone7 app using Visual Studio 2010 and Silverlight.

Some interesting audience Q&A:

  • Q: What languages are supported for WinPhone7 development? A: At this point, only Visual Basic and C#
  • Q: Does WinPhone7 support multi-tasking. A: No. Some standard system services can run in the background; but apps don’t multitask.

Cross-Platform Mobile Application Development by Rohit Ghatol

Next up: Rohit Ghatol talking about cross-platform mobile app development using phonegap, titanium etc.

  • Two ways of developing cross-platform apps. 1. Develop html5 apps for webkit. 2. Use a translator that translates your app to native code.
  • For now, all major mobile platforms have a webkit based browser (except WinPhone7). So writing an app targeting webkit is “cross-platform”
  • Q: Will a webkit based app work with WinPhone7? A: No. But Mango release of WinPhone7 will support html5, so you should be close.
  • Translating common codebase to different native apps – Titanium. Write in JavaScript, and translate to Native.
  • PhoneGap = HTML5 + CSS3 + JavaScript + special ability to make calls to access phone sensors etc.
    • Note: HTML5/CSS3 development for mobile apps works because all phone browsers are much more advanced on this issue than desktop browsers
    • Features supported by phonegap: accelerometer, camera, compass, contacts, file io, geolocation, audio recording, sound, vibration, storage. Note: not all these features are supported on all mobile phone platforms
    • PhoneGap prerequisites: Need to be a html/javascript expert. Also, it doesn’t help you with UI, you need to be able to develop that
    • So with PhoneGap app development, you’ll probably be doing UIs by using JQueryUI or something like that.
    • Note: PhoneGap ultimately creates a native app that users install. Not just a website that they visit in the browser.
  • At this point, Rohit, showed actual PhoneGap code for a mobile app – to write an app that shows a google map of my current location.
  • Big challenge of PhoneGap is that you need to bring your own UI development framework. This is an advantage also! – PhoneGap allows you to have same UI framework for website as well as your mobile app.
  • Rohit’s suggestions for UI framework – 1. GWT 2. jQueryMobile
  • With Titanium, you write apps in Javascript. This is interpreted by MozillaRhino on Android, and by Webkit JavascriptCore on iOS
    • You have two different directories for images – one for Android, & one for iPhone, because they handle images differently.
    • iPhone requires just one size of images. Android allows different images for different screen sizes/resolutions/orientations.
    • Titanium problem – layout is absolute. For people used to the great layout capabilities of Android, this is a big step down
    • Titanium uses native UI (iPhone and Android), where are PhoneGap uses non-native (html/css) UI. Former gives better experience…
  • PhoneGap/Titanium both use Javascript Interpretation, so both can’t do multi-threaded apps
  • Building your own webkit based cross-platform framework makes sense if you want to overcome limitations of phonegap/titanium.
  • This won’t be as clean as phonegap/titanium, but might be good for your specific case. Steal phonegap/titanium code if required!
  • Comparison of PhoneGap vs Titanium. Titanium more proprietary, limited UI, …
    html5/css3/javascript is the future; but not there yet. Until then, write to webkit specs…

Android Performance Tuning by Anand Hariharan

Next speaker was Anand Hariharan talking about Android Performance tuning.

  • For app performance: first focus on what the user wants, don’t just improve performance for the sake of improving performance. Optimize only after measuring performance, and having specific performance goals. A lot of performance tuning, is really about managing user perception. When doing something that will take time, keep user engaged.
  • Don’t optimize everything for performance – you don’t have the time. Focus on the most important user visible features and fix those. In mobile world – reduce features and use the time saved on fixing performance.
  • Manage user perception better: e.g. Apple’s use of loading a bitmap image of app at beginning to give impression that app has loaded. At app startup time, load a bitmap that looks like your app without the latest data. Gives impression that app load is fast.
  • Performance tips: All platforms have a “recommended best practices” doc. Read that – many developers dont 🙂 e.g. Android best practice: for tasks that take time, use a background service (not an activity).
  • Anand talking about how to avoid an “Application Not Responding” (ANR) dialog for your app
    • An android app is single-threaded. So don’t do io (network or disk) synchronously. Use an async mechanism.
  • Keep activities small. Don’t overload activities. Use different activities to do different things.
  • Use the minimum number of views. Do not use a deeply nested view hierarchy. Your view hierarchy shouldn’t be more than 3 levels deep. If you’re views are getting complicated, consider writing custom views.
  • Track memory allocations. Garbage collection happening during user activity causes slowdowns.
  • Close your cursors. Otherwise garbage collector cannot reclaim memory. Then you get GC cycles, and slowdowns.
  • use onRetainNonConfigurationInstance() to retain large amounts of data between device orientation changes (landscape to portrait)
  • Use SoftReferences to cache data so that the garbage collector can reclaim the memory when required.
  • Avoid database writes as far as possible. Writes take 5ms to 200ms. And full SD card has slower writes.
  • Avoid using data from mutiple tables in a single list (AdapterView). First copy data from multiple tables to a single table and show that. e.g. in Email app, subject and body came from different tables. This really slowed down the inbox view (which shows first line of body).
  • Tools to help with android app optimization: Fix your views using: hierarchyviewer, layoutopt. Check flow & times using: traceview. Use zipalign to optimize your apk (improves app load time).
  • Above all, you must understand what you’re optimizing and why. Measure, measure, measure.

Event Report – CloudCamp Pune

This report of the CloudCamp that was held in Pune last weekend, is a guest post by Chirag Jog, CTO of Clogeny Technologies

CloudCamp is an un-conference where early adopters of Cloud Computing technologies exchange ideas. With the rapid change occurring in the industry, we need a place where we can meet to share our experiences, challenges and solutions. CloudCamp, encourages end users, IT professionals and vendors to participate and share their thoughts in several open discussions. Cloudcamp is organized in cities across the world .

CloudCamp Pune was held on 5th Feb 2011, hosted at Persistent Systems. The chief organizers were Shreekanth Joshi, Persistent Systems and Larry Carvalho, RobustCloud. The event was sponsored by Clogeny (only local/Pune-based sponsor), Netmagic, Trillion IT solutions, Microsoft Azure, Hexagrid and Tropo. NASSCOM was the in-kind sponsor.

The camp drew around 400+ registrations and around 150+ folks showed up for the conference making it the 3rd largest camp after Brazil and London. Larry Carvalho, was the coordinator on-stage.

Lightening Talks

As it typical of any event held in Pune, the crowd trickled till around 1045am and the event kicked off officially at 11am. Larry spoke first about Cloudcamp in general followed by which we had a bunch of lightning talks by all the sponsors. Persistent first spoke about the potential challenges customers will face while they try to migrate to the cloud. Trillion Tech followed talking more about the work Trillion Tech does than Cloud Computing. Interestingly they have deployed their private cloud offering in the US Federal Department of Treasury. Microsoft gave their regular Azure pitch where now folks can deploy non-.NET apps as well (like PHP/Python or Java based apps). Microsoft made quote: “SQL Azure is the only Relational DB in the cloud” – which is highly debatable. Clogeny, then gave their lightning talk about products they are working on namely building hybrid clouds and automated deployment platforms. Finally, Netmagic spoke about their Cloud offering. They aim to solve the compute problems of all India. Companies like Tata, Manipal Univ and India Infoline are some of the big customers the recently funded Netmagic have on their roster.

Suhas Kelkar, BMC representing NASSCOM gave a nice lightning talk about the UID project. One of the aims of the UID project is to provide “Identity as a Service”. Anyone around the world should be able to identify an Indian based on biometrics in less-than-2-seconds using a massive data de-duplication engine.

Larry gave 20:20 talk i.e. 20 slides in 20 secs per slide about general Cloud Computing concepts. Any Cloud solutions provided should be “OSSM” (pronounced awesome) – On demand, Self-Serviced and Measured. He explained basic Cloud Computing terms like PaaS, IaaS and SaaS

Cloud Computing Unpanel

Larry mentioned that he had heard complaints in the past that Indian Cloudcamps are less interactive and audience participation is really low. He tackled this problem very well with an un-panel discussion. Here is how it happened. He asked folks who were cloud experts to raise their hands. Around 15 or so raised their hands. He got all of them to come down to the main stage. After that, he started asking audience to “ask questions to these cloud experts.” He took down around
15-20 questions on white sheets of papers from the audience.

The “cloud experts” then answered all these questions. Some of the questions asked were about security concerns in the cloud, vendor lock-in, developer’s role, how to choose the right solution and so on. This was a fun session nicely organized by Larry ensuring audience participation.

Some of the questions asked and their answers:

  1. Security in the cloud: Security in the cloud is no different than securing your data centre. Ensure your network and host level firewalls are locked down and all communication is secure.
  2. Vendor lock-in: Everyone talks about the marriage but no one talks about the divorce i.e. moving away from a vendor. Design your applications properly so that migration from one vendor to another vendor is easy. One of the “cloud experts” mentioned how by designing a proper hibernate layer, they were able to move their Java application from Google App Engine to Amazon’s EC2 in a day. Design is the key.
  3. Application development for/in the cloud: Experts spoke about how quickly they could develop massively scalable applications using force.com’s platform-as-a-service.
  4. Making the right choices: Experts spoke about evaluating different offerings in terms of features and cost. Do a small POC before doing committing to a any vendor.
  5. Storage/Databases in the cloud: There are all sorts of databases (relational and non-relational i.e NoSQL ) available in the cloud which provide redundancy and consistency. e.g. Amazon’s S3, RDS, SQL Azure, MongoDB and so on.
  6. Will Network/System administrators lose their jobs? This was the question of the day raised by a lot. The answer is that your datacenter will become virtual but it will still exist and need regular maintenance. Platform-as-a-service solutions don’t provide a silver bullet that you can junk all your hardware capacity for that. You will need IaaS like Amazon EC2, Netmagic and that needs maintenance regularly.

Breakout Sessions

Post lunch, there were quite a few breakout sessions based on the audience questions asked before lunch. Larry himself conducted a session on Security in the Cloud. Janakiram MSV from Amazon, conducted a session on Migrating Applications to the Cloud. I attended Janakiram’s session. He spoke about his experiences in evaluating and then migration applications to the Cloud.

Some takeaways from Janakiram’s session:

  • Capex can go down significantly, but Opex needs to be tempered by revenue.
  • Steps to migrate into the cloud:
    • Do a cloud vendor assessment: Choose which vendor suits your current and future needs.
    • Do a simple Proof of Concept.
    • Migrate the data: Choose which part of the data (images, binary blobs etc) can use NoSQL databases and which parts are relational and need a Relational Database application.
    • Migrate the application: Either “forklift” the entire application and run it as-in the cloud or use a hybrid approach.
    • In the hybrid approach, some of your application’s context remains local while some is in the cloud and they communicate via shared queues or similar such ways.
  • Use Cloud vendor’s value added services besides compute and storage: eg. Leverage EC2’s queuing solution i.e Simple Queue Service instead of implementing your own.

  • Tweak as per the need: After running the application for a while in the cloud, keep tweaking your application for optimal use for resources.

I attended Netmagic’s demo. Netmagic gave a demo of their current cloud offering which is currently in beta. Similar to other popular cloud vendors, Netmagic lets you create Windows/Linux servers on the fly, connect them to remote storage, provides network level firewalls and provides proprietary software load-balancers. The UI was clean and easy to understand. Their SLA guarantees an uptime of 99.993%. Currrently, their solution looks very robust especially in the Indian market and there will offer a complete offering soon with APIs and connectors.

We (Kalpak Shah and myself) personally held a breakout session for developers and their role in the cloud. The main questions asked by developers were around “What and how do I develop in the cloud?”

The answers:

Application development fundamentally remains the same for the developer. You write code in Java, Python, .NET or any of your favorite languages. What changes is the environment in which is deployed and its use cases. e.g. If you want to host your Java Web application, instead of buying space from a hosting solution provider, deploy it directly into Google AppEngine (GAE). GAE will host it for you and scale up/down as per load. e.g. If you want to use scalable storage, your application will need to use a NoSQL storage solution like Amazon’s S3. The developer’s role here is to understand how to use S3’s APIs. Hence the developer would need to design and develop his application leveraging these “cloud” technologies.

Furthermore, the developer also would need to think “cloud” and design with multi-tenancy (a software application is designed to logically partition its data and configuration, and each client sees a custom version of that application) in mind for his Software-as-a-service offering. eg. Gmail or Facebook.

Conclusion

Larry closed the session by thanking the sponsors and participants. There was feedback about what all can be improved in the future. Key suggestions were: having talks about cloud basics in the beginning, having good net connectivity (for demos), and a post conference beer party (to ensure folks stick till the end).

All in all, CloudCamp is definitely a great un-conference if you want to learn about cloud, if you are an expert and what to share your experiences and knowledge, and if you have products to showcase.

The next CloudCamp in India is in Delhi (12th Feb) and Chennai (19th Feb).

About the Author – Chirag Jog

Chirag Jog is the CTO at Clogeny Technologies where they work on innovative ideas across the cloud computing stack. He, along with the CEO drives the overall strategy of the company. He is passionate about everything “cloud” and around it. He is an ex-PICTian.

Event Report: IndicThreads Conference on Mobile Application Development

(This is an event update about the IndicThreads Conference on Mobile Application Development that was held in Pune last week. We already published one article related to a couple of the the talks at that conference. This article, a more comprehensive update, was posted by Atul Nene on his blog, and is re-published here with permission.)

The good folks at IndicThreads, Harshad Oak and Sangeeta Oak, organized the IndicMobile conference. The venue and arrangements were very good and the set of speakers top notch. The choice of topics was varied enough to be comprehensive and yet very relevant and amenable for deep enough dives. Overall, a great interaction and learning opportunity that I and my colleagues enjoyed. I also enjoyed live tweeting along with Saurabh, PuneLive, Mukund, Vishvesh. Here are my notes from the conference. They are longish, but then it was a two day affair, and I have tried to be brief.

Anand Deshpande, Persistent, Keynote Address
As expected, there was deeply thought out articulation from Anand on the future of the software space. Mobile + cloud is ‘it’, he said. Economic sense is driving everything on the cloud and that, combined with the all pervasive mobile technology will rewrite the software world, as we develop and use it today. He referred to the Harvard Business Review C.K. Pralhad and R. A. Mashelkar paper and pondered that more will be made available for less, for the many – elucidiating Gandhian principles. He made a core point about the data being separated from the App.

I like Anand’s ‘cows and milk’ analogy: focus on milk, why care about tending cows ? Applied to software, focus on developing and using software (App), not building the cloud. But – to take the analogy further – what control one has on chemically adulterated milk ? Its very difficult to even identify that. And, what about reliability and security and so on on the cloud ? Or is there a business case for the ‘organic software experience’ ? We as software product developers will have to figure it all out.

Rohit Nayak, Cross-platform mobile development: choices and limitations
Nice coverage of cross platform mobile development tools. I didnt know there was no garbage collector on the iPhone while there was one on the desktop. Titanium can be used for building cross compiled native apps on various platforms. It also has a good reference application that can be used to test all kinds of interfaces of the device you are building for, as well as sample code ready to be used. MoSync and PhoneGap were also covered. All three were demoed. He warned that tools can be out of step with device styles and new devices. He also suggested that a mobile web app could be the route of choice for maximum platform coverage. I noticed mere mention of MeeGo, but after all, its too new as of this writing. [See MeeGo related previous post on this blog.

Romin Irani, Mobile Web Applications using HTML5
Romin went over the new stuff in HTML5 – semantic elements, forms, audio video embedding, location, and so on. He pointed out that ‘native app like’ experience was possibly via use of local storage, graphic functions and media support. Is it possible that webkit advances render native app development obsolete ? After all, lot of commonly used JavaScript functionality were being included in HTML5. He mentioned that HTML5 would reach ‘recommended’ status by 2022! I’m sure, Holy Photons will guide us there through the paradigm shifts of 2012 et al. 🙂 I believed that an HTML app won’t give a native experience on the device but much to my delight, he demoed HTML5 features in a cool looking app with really nice look and feel. An engaging session with great examples of varied browser support.

Hemanth Sharma, Adobe Flash Platform for Mobile Development
Hemanth covered the various Adobe tools. Interestingly, none of the attendees present had developed for the platform so far. He pointed out that while designing for multiple screens, especially small, knowing the screen resolution was not enough and that the physical dimensions, the orientation and pixels-per-inch (PPI) were crucial. Amongst many other things, he mentioned DeviceCentral as a useful tool to test for devices that support flash. While iOS does not support flash, its cool that Adobe has ActionSript3 cross-compilation for iOS – it generates a native iOS application. He demoed real fast development of an app that gets twitter trending topics. His live demo broke by a whisker – must have kicked himself, mentally – he then showed us previously built code. Still cool. I would have loved stats (performance and so on) comparing native apps with similar functionality. All-in-all, a compelling write-once-run-anywhere-on-air story by this Adobe evangelist. Need to seriously evaluate the platform.

Balagopal K S, Deep dive into Application development for Nokia Technology Platforms
Bala had the difficult task of keeping us awake after lunch. He spoke all about the various platforms one can develop for, for Nokia devices, including the Symbian, Maemo and MeeGo. And of course all about Qt. I wasn’t expecting a Nokia representative to pronounce Qt as ‘quetee’. Everyone knows its ‘cute’, pun not intentionally intended 🙂 He revealed that 83% of users downloaded apps rated 4 and 5 (of 5). Shows how crucial it is, to build a high quality app that includes a great user experience. He advised to design for the user, not the technology, and consider the emotional engagement of the user with your app. And some more tidbits and tools and resources. Given that Qt is the development platform of choice on MeeGo, and a lot of Qt development is done in Python, I wonder why C++ is the language of choice for Qt/Meego. Its like going retro, no?

Pradeep Rao and Dilip Sridhar, BlackBerry Development Platform
BlackBerry just released the Torch and that has the BB6 platform. They have tieups with advertisers and an API that developoers can use in their apps. RIM does 60% revenue share with the app developers. BB SuperApps are native apps that are always on and connected, proactive and notification driven, highly contextualised, designed for efficiency in terms of network usage, battery life and so on. The Theme Studio and Theme Builder lets you make themes easily. The Playbook is coming. This platform is one to watch out for. Lately, BlackBerry devices have started delighting more and more number of users, notwithstanding their funny ads, and they have a powerful development platform plus increasing marketshare to entice developers.

Navin Kabra, Understanding the Touch Interface
Have you noticed how, the moment you start discussing something related to design, that hovers closer to art and makes the audience remember their most delightful and very frustrating moments with technology, everyone just tunes up their attention to the level of communion. Holy Photons ! This is exactly what happened in Navin’s session. He declared: “Touch will take over the world”. He made many excellent points, one being that using a mouse is a learned skill while touch comes naturally and that every app developer irrespective of whether he will develop for the mobile platform or not, will need to care about touch, simply because touch based devices will be the most commonly used devices going forward.

Also, a piece of text that is large enough for you to read is not necessarily large enough to touch – you will know this if you browse the web on your touch phone. Touch can be so easy that our spinal cord should be enough to do processing and give our brain some rest – everyone could do with that, I suppose. He showed a very interesting design of a touch keypad that can be used singlehandedly to browse the web because it has most of the frequently used functions on convenience buttons. He also touched upon – pun intended – the problems with touch, user perception of what is good and bad response time, caution of not overdoing it and perhaps most importantly, that developers wanting to design for touch must use a touch only device for a sufficient period of time !

I really liked the mindmap style (including the navigation) for the presentation. Made a mental note to make one this way at the next oppurtunity. Abhinav (an attendee) made an excellent point about designing in such a way that, with all the touch he can get, the user is still able to efficiently ‘blind type’, assuming he also has a physical on-device keyboard at his disposal – touch and type should not go out of sync. Really interactive and great talk on how to design for touch. And some informative follow-on interactions around stylus vs. fingers, resistive and capacitive touches, and handwriting recognition, the Palm (now Access) Graffiti et. al.

I personally feel there is huge potential for handwriting recognition or at least the Graffiti on the mobile platform – too many potential users who know native, local languages are currently ignored and can be empowered to communicate for low costs, in ways that come naturally to them.

Venkata Ratnam V, Introduction to bada platform & Samsung’s multi-platform strategy
Venkata explained Samsungs dual strategy with Bada (means the ocean, and does not have roots in the Hindi ‘baDaa’ i.e. big, as someone said to me) being for the low end devices while the other mobile OSes that they sell devices with, are for the high end devices. Looks like a large set of attendees were Android lovers and didn’t buy the Bada story but Venkata said ‘Dont grudge us our own mobile OS’. Its difficult to argue with that! He also made a wonderful observation: Customer (end users) expectations are very, very high. They want features on the phone that they may not use, but if the device doesn’t have them, they feel its handicapped.

One can develop for Bada with the combination of C++ and Eclipse, plus a web toolkit. There is also a memory leak checker bundled along with the developer toolset. As others, Samsung has a lot of other pieces of the mobile puzzle being put together in their own way. ‘In-App Purchase’ – is this new ubercool feature being bandied about. IIRC, Apple, Nokia, Samsung have it, others will want to catchup. Venkat also made a great point about user psychology – it’s easier to have an app in the store that is installed by the user and which then stays on the device and tends to be used more. This app can then of course use the web as needed. But its very difficult to have the user point his browser to a website from his device. Point to be taken ! Good session by this evangelist: funny slides, cheerful demeanour, solid defence.

Vikram Pendse V, Microsoft Windows Phone 7 Platform
Vikram Pendse’s overview of Win Phone 7 platform, architecture, development tools, demos and quirks was nice. He did a good job of explaining the Microsoft perspective for WP7. MS wants a consistent hardware strategy across vendors: ARMv7 Cortex/Scorpion or better, and decent combination of GPU, memory, display, capacitive touch, and sensors (GPS, accelerometer, proximity). There will be 3 buttons – Start, Search, Back. For developers, there is .NET compact framework and Silverlight. The OS supports ‘prioritised’ (not concurrent) multitasking of Apps. Libraries include cloud integration for Azure. He demoed apps to showcase various capabilities – graphics, app bar, music, UI navigation. As also a profiler. And pretty pictures of devices: Dell Venu Pro, HTC HD7, HTC Surround, LG Quantum, Samsung Focus. And some game screens.

MS story looks sketchy at best, and we tweeters had fun ! So WP7 won’t copy and paste. Surprised ? You shouldn’t. Remember C&P has moved to the iPhone last year?! There is no migration plan for apps written for WinCE 5/6. You gotta rewrite, in a different language! Romin noted: what Android calls “Intents” …. Microsoft calls “Launchers and Choosers”. Saurabh noted that WP7 is a fancy looking toy, but only for end user, developers will have to wait for more support and perfection. I agree – the UI looks really cool for end usage. Vishwesh: MS was dead after WM6.5 and now, with limited support for everything on WP7, they are … a zombie? The marketplace seems to be the weakest (non-existent yet ?) link. Too many restrictions imposed by the OS. The audience was wondering if all MS wanted to sell was under-USD-30 devices! Good fun 🙂

Rohit Ghatol, Getting Started With Android Application Development
Rohit began well. He gave some background on the platform, showed a list of devices in the market and asked: Do I really have to sell Android? The audience didn’t think so anyway. He also was the first person to do a live device demo in the conference. He covered stuff efficiently – Building Blocks of Android (Activity, Service, Content Provider, Broadcast Receiver, Notification Mgr, Alarm Mgr), the Dalvik VM, the DEXs and the APKs. He was swift through building an App and covered lot of details in short time. Froyo (API v8) brings the much needed enterprise security features to Android, while GingerBread and Honeycomb come later to focus on tablet features.Developer.Android.Com is a very well documented site and a great resource to learn at. We also discussed some could-be-better stuff – one is tablet support, another is that Android market does not provide flexible payment options, sometimes you can make more money by making the app free and include Google ads! Rohit had a nice conversational style, good use cases, employed simple stepping through the development process on a well done deck.

UnConference
I liked this flexible approach. The audience identified pertinent topics for an open discussion and we had scintillating set of discussions on 4 topics. Difficult to capture all learning and speakers, but I hope I’ve got the gist.

Abhinav, Mobile Virtualization: Can we run multiple logical phones on one physical phone ? There are multiple applications. 3 years ago, you ran your PC at 1GHz, today you run your handset at that speed. In terms of device capability, virtualization seems plausible. Clouds will only separate the data from the device. What if you want to use your corporate mobile and your personal mobile on the same physical handset, for convenience ?

Saurabh, OpenGL: Useful for graphics and game development. Optimal use of hardware resources. Common library across platforms, however, support varies across platform. Simple games like ‘Bejeweled’ are being used more over serious games that need a console, simply because they are more available, like while waiting for the doctors appointment.

Vishwesh, Apps for the Indian Market: Firstly, is there an Indian Market? Consumers have to use apps developed for the western market. Where’s the Indian Content ? Pricing is a challenge. Prices are converted from USD to Rupees, needs to be thought differently. Rural market, huge but not addressed. Difficult to monetise. We don’t even SMS in local language yet. Amar Chitra Katha – available on one provider when it needs to be ubiquitious. Cash-On-Delivery is the preferred payment option for Indian Consumers, and this needs to be used for selling Apps. Microfinance has the potential to be in top-ten-app charts, but there aren’t any apps! And then there are too many platforms! Mobile Apps should connect to the physical, real world of the End User. It’s only then that they will be used

Dr.Lavania, Tele-Health: What is the best way to reach 24×7 touch and feel health services to rural areas, given that mobility is the only ubiquitious technology in villages! Apps that degrade from smart to dumb phones are needed. What low cost solution can we have for villages that are ‘over the horizon’ of connectivity?

Anand Hariharan, Performance in Android: Tips and Techniques
“Good Design is the practice of Subtraction” – Mark Anderson from the Good Design blog. Anand suggested we keep performance in mind right when you are desiging the App. Design, Measure, Identify, Improve : thats the mantra he gave us for performance extraction on mobile platforms. Speed, responsiveness, robustness, good behaviour (wrt battery usage and working well with other Apps) – all these done together make an App with good performance. Intensive CPU/battery usage, UI freeze (jankiness), long periods of percieved inactivity, actions that are not cancellable – any of these make an App bad, and it runs the risk of uninstallation from the users device! Apps should be designed to work well over varying net speeds. Recommended practices and style guides of respective platforms are important also for performance aspects. Like on the iPhone, its a good idea to show the image of your App, during startup, while the App loads – this improves user perception on response time. Android has a useful guide called Designing for Performance

Anand had specific advice – dos, donts – for Android apps in particular and Java apps in general. Do lookup his presentation on the conference site, it has a lot of depth and coverage – a handy reference for all developers, I’d say. Fluent talk, and I thought, Holy Photons – worth emulating!

Romin Irani, Power Your Mobile Applications On The Cloud
Romin has written a book on Google App Engine and you can download it for free. GAE is feature rich and free, has enough resources for trying out apps. He did a quick run through basics, and did a live demo – write, test, deploy! Simple, klaar, not cloudy at all. 🙂 You can code in Python or Java. Cloud in general and GAE in particular has great potential for mobile space. You could have the same cloud app serve multiple phone apps or even multiple kinds of clients (thick, thin, remote, local, and so on …). Romin mentioned a handy resource for information on about 15,000+ devices ! Checkout WURFL.

All presentations uploaded to the conference page as the talks got over. Pleasant green behaviour on part of organizers – free saplings were on offer for those who care. See the Press Report in DNA. An intense and thoroughly enjoyable conference with a lot of take-aways for me. Hope you have enjoyed reading about it.

About the Author – Atul Nene

Atul has a Masters in Computer Science from the University of Pune. His areas of interest are Technology in general and Software in particular. He studies Indian classical music, is a nature lover. He builds embedded products and Mobile Applications for the iPhone, Android, Symbian and BlackBerry platforms. Atul was 2008 Employee-of-the-Year at his workplace, and recipient of “Project Management Excellence Award” (for his team) by PMI, Pune Chapter.

Android/iPhone/BlackBerry/Nokia – Which platform(s) should developers target

(I attended the IndicThreads Conference on Mobile Application Development today. This article is based on presentations made there and conversations I had with some of the presenters.)

The smartphones market is very fragmented.

In 3Q2010, Symbian had 37% of the smartphone market, Android was second with 25% (it was at 2% 18 months ago), and iOS in third place with 16%. RIM (Blackberry) was next. Windows was losing.

So, what should a developer do? Which to target?

I talked to Romin Irani of Xoriant about this problem, and whether HTML5 is the answer to these issues. My key takeaway’s from this conversation were:

  • HTML5 is here already. I was under the impression that HTML5 is something that will arrive sometime in the near future. Romin pointed out that HTML5 support is pretty good even today, especially if you’re thinking of mobile phone browsers.
  • But HTML5 not the answer to all your problems. If you need access to device sensors, you’re probably better off with a native app. If you want access to the appstore/marketplace, then you need a native app. HTML5 doesn’t qualify!
  • If you’re a new startup, and you want to build a mobile app, what should you do? These are the guidelines:
    • If you don’t need device sensors, and don’t need to be in the appstore/marketplace, strongly consider a HTML5+CSS+JavaScript app
    • If you want to go after the US market, you must have an iPhone native app. (Maybe followed by Android)
    • If you want to go after Europe market, then you will need to have a Nokia based native app, just for the sheer numbers they have

Rohit Nayak of Talentica had talked about the use of cross-platform app development frameworks like Titanium and PhoneGap. Both allow you to write apps in JavaScript. Titanium cross-compiles them to native apps on each platform. PhoneGap uses a modified version of the browser so that your app is HTML+CSS+JavaScript, but there are modifications that allow you to access native phone features (like sensors).

There are some limitations, and such apps aren’t as good as native apps.

So, would he really recommend the use of PhoneGap/Titanium for developing apps? Rohit had this to say:

  • Titanium and PhoneGap are rapidly getting better and better. More and more apps built using them are showing up on the android marketplace.
  • If you already know JavaScript, and need to get to the market quickly, you should definitely consider using one of these tools
  • If you don’t really need advanced native features of any specific platform, then it makes a lot of sense to go this route
  • If you are a software outsourcing company that’s building apps for third parties, you should seriously considering building a team that uses Titanium. For most of your customers, you’ll be able to quickly complete an app that satisfies them. Otherwise, you’re faced with a nightmare – you’ll need to build teams with expertise in each of the major platforms, and this is almost impossible to do with today’s attrition.

The last few points seem very similar to the advantages of HTML5, so I asked Rohit whether PhoneGap/Titanium had any advantages over HTML5. Answer:

  • PhoneGap/Titanium generally support more native features than HTML is planning on supporting
  • An app built Titanium/PhoneGap can go on the appstore/marketplace.
  • An HTML5 app necessarily requires you to have a “cloud” presence – a web server and an API, and supporting all the online connections. PhoneGap/Titanium application does not require any of that.

Choices in Cloud Computing and What’s Right for You

(This is a live-blog of a talk given by Kalpak Shah, at the Indic Threads Conference on Cloud Computing, held in Pune on 20/21 Aug 2010. Since it’s being typed in a hurry, it is not necessarily as coherent and complete as we would like it to be, and also links might be missing.)

Kalpak Shah is the founder and CEO of Clogeny, a company that does consulting & services in cloud computing. His talk is about the various choices available in cloud computing today, and how to go about picking the one that’s right for you.

These are the slides that were used by Kalpak for this talk. Click here if you can’t see the slideshow above.

Kalpak’s definition of a cloud:

  • If you cannot add a new machine yourself (i.e. without making a phone call or email), then it’s just hosting, not cloud computing
  • If you cannot pay as you go (i.e. pay per use) it is not cloud computing
  • If you don’t have APIs which allow integration with the rest of your infrastructure/environment, then it is not a cloud

Kalpak separates out cloud infrastructure into three parts, and gives suggestions on how to choose each:

Infrastructure as a service

Basically allows you to move your local server stuff into the cloud. Examples: Amazon EC2, Terremark vCloud, GoGrid Cloud, Rackspace Cloud

You should check:

  • Support and Helpdesk. Is it 24×7? Email? Phone?
  • Hardware and Performance. Not all of them are the same. Amazon EC2 not as good as Terremark.
  • OS support. Which OS and distributions are supported. Is imaging of server allowed? Is distribution and re-selling of images allowed? Not everybody allows you to save the current state of the server, and restart it later on a different instance.
  • Software availability and partner network. Example, Symantec has put up their anti-virus software for Windows on EC2. How many such partners are available with the provider you’re interested in? (EC2 is far ahead of everybody else in this area.)
  • APIs and Ecosystem. What APIs are available and in what languages. Some providers don’t do a good job of providing backward compatibility. Other might not be available in language of your choice. EC2 and Rackspace are the best in this area.
  • Licensing is a big pain. Open source software is not a problem, but if you want to put licensed applications on the cloud, that is a problem. e.g. IBM Websphere clustering is not available on EC2. Or Windows licenses cannot be migrated from local data center to the cloud.
  • Other services – How much database storage are you allocated? What backup software/services are available? What monitoring tools? Auto-scaling, load-balancing, messaging.

Kalpak has put up a nice comparison of Amazon AWS, Rackspace, GoGrid and Terremark on the above parameters. You can look at it when the PPT is put up on the IndicThreads conference website in a few days.

Platform as a Service

This gives you a full platform, not just the hardware. You get the development environment, and a server to upload the applications to. Scalability, availability managed by the vendor. But much less flexibility than infrastracture-as-a-service. You are stuck with the programming language that the PaaS supports, and the tools.

For example, Google AppEngine. Which is available only for Python and Java. Or Heroku for Ruby + Rails.

PaaS is targeted towards developers.

Software as a Service

This gives you a consumer facing software that sits in the cloud. You can start using the software directly, or you can extend it a bit. A business layer is provided, so you can customize the processes to suit your business. Good if what is provided fits what you already want. Not good if your needs are rather different from what they have envisoned.

Examples: Sales Force, Google Apps, Box.net, Zoho

Storage as a Service

Instead of storing data on your local disks, store it in the cloud. Lots of consumer adopton, and now enterprise usage is also growing. No management overhead, backups, or disaster recovery to worry about. And pay either flat fees per month, or by the gigabyte.

Examples: Mozy from EMC. Amazon S3. Rackspace CloudFiles. Carbonite. DropBox.

Comparing PaaS and SaaS

Some choices automatically made for you based on development language and available skill sets. Python + Java? Use Google AppEngine. Ruby on Rails? Use Heroku. Microsoft shop? Use Azure.

Other ways to compare are the standard ones: size of vendor and ecosystem maturity. Tools, monitoring, connectors, etc. e.g. AppEngine has a Eclipse plugin, so if your developers are used to Eclipse (and they should be!) then this is very good. Another question to ask is this – will the vendor allow integration with your private cloud? Can you sync your online hosted database with your local database? If yes, that’s great. If not that can be very painful and complicated for you.

Interesting Private Cloud Platforms

These are some interesting private cloud platforms

  • Eucalyptus: open source IaaS cloud computing platform.
  • VMWare Cloud: Partnered with Terremark. Expensive but worth it.
  • Appistry: Allows installing of the platform on Amazon EC2, or in your private data center. Allows application deployment and mgmt, various services across the stack IaaS, PaaS, SaaS. Integration with SQL Azure, SharePoint, Dynamics CRM. Visual Studio development and testing. Supports multiple development languages.

Database in the cloud

You can either do regular relational databases (easy to use, everybody knows them, scaling and performance needs to be managed by you). Or do NoSQL – non-relational databases like SimpleDB (Amazon), Hadoop (Yahoo), BigTable (Google). They’re supported and managed by cloud vendor in some cases. Inherent flexibility and scale. But querying is more difficult and less flexible.

Business Considerations

Licensing is a pain, and can make the cloud unattractive if you’re not careful. So figure this one out before you start. SLAs are around 99.9% for most vendors, but lots of fine print. Still evolving and might not meet your standards, especially if you’re an enterprise. Also, if SLA is not being met, vendor will not tell you. You have to complain and only then they might fix it. Overall, this is a grey area.

Pricing is a problem – it keeps changing (e.g. in case of Amazon). So you can have problems estimating it. Or the pricing is at a level that you might not understand. e.g. pricing of 10 cents per million I/O requests. Do you know how many I/Os your app makes? Maybe not.

Compliance might be a problem – your government might not allow your app to be in a different country. Or, for banking industry, there might be security certification required (for the vendor) before the cloud can be reached.

Consider all of these before deciding whether to go to a cloud or not.

Summary

IaaS gives you the infrastructure in the cloud. PaaS adds the application framework. SaaS adds a business layer on the top.

Each of these are available as public clouds (that would be somewhere out there on the world wide web), or private clouds that are installed in your data-center. Private is more expensive, more difficult to deploy, but your data is in your premises, you have better (local) connectivity, and have more flexibility. You could also have a hybrid cloud, where some stuff is in-house and some stuff in the public cloud. And if your cloud infrastructure is good enough, you can easily move computation or data back and forth.

Kalpak Shah Headshot
Kalpak Shah, CEO of Clogeny, gave a broad overview of the various options available in cloud computing infrastructure, platforms and software, and the questions you need to ask before you choose the one for you.

About the Speaker – Kalpak Shah

Kalpak Shah is Founder & CEO of Clogeny Technologies Pvt. Ltd. and guides the overall strategic direction of the company. Clogeny is focused on providing services and consultancy in the cloud computing and storage domains. He is passionate about the ground-breaking economics and technology afforded by the cloud computing platforms. He has been working on various cloud platforms including IaaS, PaaS and SaaS vendors.

You can also follow @clogeny and @kalpakshah on twitter.

Event report: Mozilla for you Business

(Last weekend, Pune played host to Arun Ranganathan, Technology Evangelist for the Mozilla Foundation, Seth Bindernagel, Director of Localization, and Axel Hecht, who co-ordinates localization from a technical perspective, and Ragavan Srinivasan, from Mozilla Labs. We had a meeting of the Mozilla Folks and the Pune Open Coffee Club. POCC member Gurminder Singh, posted this “event report” on the Pune Startups mailing list. It is reproduced here with permission.)

The Mozilla Foundation logo
Image via Wikipedia

The whole session proved to be very interesting. Here is short summary about session on 21st/ Feb 2010 at SICSR Pune.

It Started with Arun’s presentation which covered

Open web platform

Open web platform does not mean open source, it means the standards on which web is based should be open. for e.g PHP is open standard and used by facebook to build million dollar business, Google supports and extensively uses open standards. Organizations should involve in defining and shaping open standards while keep in view the way web is evloving.

Using this open web platform million dollar businesses can be built.

The HTML5 standard has many revolutionary features to change the how people interact with web. One of them is Video

Future of Video on Web

Currently there is no standard format of video on web. We can see avi, mov, mp4, flv etc floating all over. People mistakenly assume flash to be standard because of its widespread use. Flash is a proprietary format from Adobe and lacks the open standard definition which makes it hard for Open standard browsers like Firefox to support it. Therefore HTML5 is coming up with new open format for video “Ogg Theora”. Recently  after a lot of community pressure YouTube announced support for Ogg theora format.

In HTML5 using elements like canvas, video and SVG a video can be treated as data and manipulated on runtime. for eg user can put a video inside a video on the fly. It can be used to make ajax calls on video and running it without any third party software.

Firefox capturing device orientation

With new hardware capabilities like accelerometer very common in devices, firefox has come up with new api to capture device orientation events. This capability can be used for better user experience detecting the motion.

Fonts for web

There was small discussion about a company name typekit.com . Typekit provides user with all the fancy fonts which till today were shaped in some image editing software and pasted as image on website.

GeoLocation

Firefox 3.6 is having support for geolocation api. Geolocation identifies the users location and points it on google maps. Under the hood it uses google gears service.

Web3GL

Future firefox versions (maybe 3.8 , 3.9) will have support for 3D graphics. This is based on web3gl component which interacts with OpenGL to render graphics on screen.

The Mozilla-based Business Idea competition

At the end of session Seth, Arun, Ragavan and Axel organized a small contest where in audience was divided in 10 teams of 3. Each team was given 5 minutes to come up with business idea and present it to audience. Presentation time was 1 min and after questioning about business model etc a winner was decided.

Out of the ten business ideas, these 4 were in finals:

  • Typekit.com for indian languages – typekit.in
  • e-learning classrooms for physically impaired – using video in video capabilities of HTML5
  • Making a video using Mashup – e.g Google maps,text to speech audio
  • Using Geolocation api from firefox – giving user local search results like restaurants

The winner was: e-learning classrooms for physically impaired.

It was great experience to interact with team. We are hungry for more such sessions. Thanks for coming and thanks for reading this through 🙂

About the Author – Gurminder Singh

By profession, Gurminder is a System programmer (C, Linux kernel,Wireless Networks) and has a hobbyist he is a Django, Firefox extensions, and web-2.0 developer. His interests are building useful products(Mashups) using web2.0 components

He is learning new technologies with his experiment http://www.tutit.net. It is a social tuting place, where a user can publicaly store tutorial bookmarks. It is hosted on Google App Engine using Django, Jquery and Dojo.

Gurminder is on twitter as @sgurminder, and can be reached at sgurminder@gmail.com

Reblog this post [with Zemanta]

Innovations 2010: Event Update

Last Saturday, Pune played host to a number of science and technology innovators from around the country, as a part of the Innovations 2010 conference.

Innovations is an annual conference to showcase new ideas from across the country. It is hosted by the IIT-Bombay Alumni Association, Pune Chapter
Innovations is an annual conference to showcase new ideas from across the country. It is hosted by the IIT-Bombay Alumni Association, Pune Chapter. Click on the logo for other PuneTech articles about Innovations.

Overall it was an interesting conference, a little hat ke. There was much less software/IT/web-2.0 kind of stuff, and much more basic science and technology. Also, it was not all targeted towards startups; which means that they also highligh individual innovators’ ideas that are not necessarily going to become a big business (for example, a method for cleanliness at a railway station), and also some interesting ideas from larger companies (e.g. the rapid DFM review and collaboration solution for injection molding from Geometric). Such innovations are not normally included in places like proto or headstart.

I missed the keynote presentation by Sanjay Nayak of Tejas Networks. However, Abhijit Athavale has covered it on his blog. Excerpt:

The event was kickstarted with a keynote by Sanjay Nayak, CEO of Tejas Networks, which is a Bangalore based optical networking startup. Tejas, which has been around for the last 5 years or so, is profitable and has revenues close to $150m. That is quite an impressive feat from an Indian high-tech startup, selling products from India worldwide. It is also a shining example to the naysayers who keep on saying that Indian product companies cannot sell products in the US. I hope that more people follow Tejasâ lead and venture into the space. Sanjay mentioned that India itself is a great market for petrochemical and telecom markets, and if you design products that satisfy the needs of these markets, you will have the advantage of selling close to home in the markets you know; something that your gadzillion dollar competitor does not. That said, it is imperative that the products you build are international class; in other words, you must implement internationally standard processes and techniques to make this happen. One thing that is lacking in India is government support â by making a policy that Indian Govt agencies/companies must buy from Indian product companies if the product quality is on par, the government will give a significant boost to innovation in the high-tech space. Instead of innovating for MNCs, people will start innovating for their own companies.

The Main Course – The Innovations

Here is a list of the innovations that were presented. These are mainly short, one or two line descriptions of the main innovation. You’ll notice that there are a bunch of Pune companies in this list.

Electronically driven supercharger

Rajeev Ranadive, Automotive Robotics, Pune Company

Customers like powerful dynamic cars, but don’t want to pay for it. More accurately, they want extra power during acceleration or climbing. Not really required all the time. And turbochargers run all the time, which is a waste. Instead, they have a electrically driven supercharger which provides the extra power only when needed, and at low engine speeds, it charges the battery. Hence it require lower electrical input, and higher mechanical output.

This company was also at proto.in Pune, but here they presented a different innovation. Which is pretty cool.

HyCator Cavitating Reactor Engine

Anjan Mukherjee, HyCa Technologies

HyCa was pretty much a repeat of their proto.in, Pune, presentation, so not repeating it here.

Generating electricity from ocean waves.

S.G. Kanitkar, Enviro Abrasion Resistent Engineers Pvt. Ltd., Pune Company

Their system is called ANEESH (Adaptive Near-shore Energy Extraction and Supply Hydrokinator. This mechanism has lower initial set-up expenses (“capital costs”) than solar or biomass energy, and cost and capacity utilization factor is comparable to other renewable energy sources. They have a prototype that is 1.5m x 4m x 6.5m which generates 2 kW of power. They need collaborators for electrical systems and electronic controls to complete the full system. In addition, they want people who can liaise with government bodies to ensure that they get past the appropriate regulatory hurdles.

Avoiding crap at the railway station.

Rajendra Ladkat, individual inventor, Pune inventor

The current method is just a hole in the train compartment and the crap ends up on the tracks everywhere and anywhere, including the railway stations. Ravindra has invented a simple mechanism which ensures that the waste matter is discharged only when the train is going at high speeds, which is a much better place to discharge it than when the train is stationary. It is a simple vertical HDPE pipe, with sloping sides and two flexible flaps. The flaps open when the train speed goes about 40kmph. Trial was conducted in Pragati express in Jan 2009, and the trial was found to be satisfactory by all stakeholders. Economics: 9000 passenger trains with 40000 comparments (which means 1,60,000 potential installations). This totally costs 48cr (contrast with Rs. 4000 cr. allocated by government for green toilets.) He is looking for business collaborators.

Design for Manufacturability tool for CAD/CAM software

Bhaskar Sinha, Geometric Software, Pune Company (mostly)
DFM = Design for Manufacturability. Designers can check for manufacturability in their CAD tool itself. When the designer is creating a design in CAD, the tool will check and validation the design from a manufacturability point of view. It points out problem areas and indicates what constraint was violated by the design. Contextual help at this point gives the user information about best practices (and this can include knowledge from the customer company itself.) (@aparanjape thinks that this kind of functionality should be there in major CAD/CAM products, so it’s not really clear what the innovation here is.)

Non-duplicatable material for security (ID cards, etc)

Raman Nanda, Bilcare, Pune Company

NonClonable security technology, from Bilcare. Consider ID cards, driving licenses, ration cards, health cards, NREGA cards. Any of them can be duplicated. Bilcare has used nanomaterials and micromaterials to develop a material that has a unique “material fingerprint”. This is invisible to the naked eye, but machine readable. And since it is at the micro/nano scale, it is not duplicatable. It cannot be reproduced, even by the original manufacturer (or Bilcare). This technology can be integrated with any security technology, like barcodes, RFID, or magstrips. They claim this requires significantly lower total cost of ownership, since this technology does not require any electronic parts in the card. It requires the scanner (i.e. the device that is used to check the identity) to be connected to a central server.

Tree Climbing Device

Mushtaq Ahmed from Kashmir, and Sham Antoorkar from Ahmedabad

They have invented a simple mechanical (non-electronic) device that can be used by unskilled people to climb trees/poles/etc easily and safely and allows resting while climbing. Mushtaq invented the device and Sham make some changes to make it commercially viable. The plan is to launch it by March 2010.

Rotory variable compression ratio engine

Das Ajee Kamath, Gyatk

You can’t put petrol in a diesel car, or diesel in a petrol car. VCR = Variable Compression Engine, would allow you to put any fuel in any engine. And this is an idea that companies all over the world have been working on for 20+ years – but it has significant limitations. Gyatk has invented a rotory VCR, which overcomes the limitations. They have a working prototype, and patents in 40+ countries, and engagement with two major auto companies in the country.

Health emergency alert system for Seniors

Umang Salgia, Wellcore Corp. Pune Company?

A device that seniors can wear on their body and it can automatically detect emergency situations, or the person can manually activate it, and it sends an alert to the appropriate person/organization. It monitors vital signs, motion, blood pressure etc. And the alert also gives the location of where the emergency happened.

I think Wellcore has a development center in Pune. (Given that both founders are Pune folks, I’d guess that it is mainly a Pune company, but I cannot find any information on their website, or anywhere else on the web. Can somebody confirm?). It is interesting to note that Wellcore also presented at CES (the Consumer Electronics Show, at Las Vegas, the biggest electronics conference in the world) this year, and was chosen as one of the top ten products by this website.

Document sharing with remote control of secure information

Rahul Kopikar, Seclore Systems
A system that allows sharing of documents but where the original document creator retains control of the sensitive information in the document. At a later stage, if the document creator can revoke the permissions and the document will become unreadable.

You, me and Disaster, a card game for increasing disaster management awareness

Peeyush Sekhsaria, Handesign, Bangalore
There is a need to get individuals and communities involved in understanding disaster management. Hence this is a card game that allows people to understand disaster management in a fun settings. Serves like a facilitation tool for teachers, trainers, social workers etc.

Making rain – a low cost way of seeding clouds and causing rain

Shreehari Marathe, individual inventor, Nanded Maharashtra
Seeding clouds to cause rain involves spraying clouds with appropriate minerals. Conventionally done by aircraft. Shreehari invented a way of doing this by burning tyres and putting the salt on it. The smoke carries the salt to the clouds and results in rain. (For reasons I cannot pinpoint, this idea is causing a bad science alert for me. I wonder whether this idea has been proved under scientific, controlled conditions. It is possible that this whole idea suffers from confirmation bias, and other such statistical anomalies.)

Meeting Report: Pune Rails Meetup (Dec 2009)

(This is a report of Pune Ruby on Rails meetup that happened on 12th December. This report was originally written by Gautam Rege on his blog, and is reproduced here with permission for the benefit of PuneTech readers.)

Click on the logo to find all punetech articles about Rails in Pune

It was great to be a part of the Pune Rails Meetup which was held yesterday (19th December, 2009) at ThoughtWorks, Pune. It was an idea initiated by Anthony Hsiao of Sapna Solutions which has got the Pune Rails community up on their feet. Helping him organize was a pleasure!

It was great to see almost 35 people for this meet — it was a probably more than what we expected. It was also heartening to see a good mix in the crowd – professionals in rails, students working in rails and students interested in rails – not to forget entrepreneurs who were very helpful.

Proceedings began with Vincent and _______ (fill in the gaps please — am really lousy with names) from ThinkDRY gave an excellent presentation on BlankApplication – a CMS++ that they are developing. I say CMS++ because its not just another CMS but has quite a lot of ready-to-use features that gets developers jump-started. There were interesting discussions regarding how ‘workspaces’ are managed and how its indeed easier to manage websites.

After this technical talk, I spoke next on my experience at the Lone Star Ruby Conference in Texas. I tried to keep the session interactive with the intention of telling everyone how important it is to know and use Ruby effectively while working in Rails. Dave Thomas’s references to the ‘glorious imperfection’ of Ruby did create quite a buzz. To quote a little from Dave’s talk:

name {}

This is a method which takes a block as a parameter but the following line is a method which takes a has as a parameter! A simple curly parenthesis makes all the difference!

name ( {} )

Similarly, the following line is a method m() whose result is divided by ‘n’ whose result is divided by ‘o’

m/n/o

but add a space between this and its a method m() which takes a regular expression as a parameter!

m /n/o

It was nice to see everyone get involved in these interactive sessions. More details about my experience at LSRC is here.

After this there was another technical talk about a multi-app architecture  that has been developed by Sapna Solutions. Anthony and Hari gave a talk on this and it was very interesting to see it work. Using opensource applications like shopify, CMS and other social networking apps to work with a shared-plugin and a single database, its possible to create a mammoth application which is easily customizable and scalable.

Hari did mention a few problems like complexity in migrations and custom routes which they currently ‘work-around’ but prefer a cleaner approach. Some good suggestions were provided by Scot from ThoughtWorks regarding databases. I suggested some meta-programing to align models. Working with git submodules and ensuring rake scripts to sync up data, this indeed seems to have a lot of potential.

There were some new entrepreneurs from ______ who have already developed a live application in Merb which they discussed and explained details of. It was good to hear about how they managed performance and scalability testing. The Q&A forum which was the next event was extremely interactive. Some of the discussions were:

Which are really great CMS in Rails?

There were some intense discussions regarding RadiantCMS, Adva and even BlankApp. The general consensus was a ‘programmable CMS’ Vs WYSIWYG. Those who prefer more of the content management prefer CMS’s like Drupal, Joomla. Those who prefer more customization via programing and code, prefer Radiant. This topic could not close and is still open for discussion.. Do comment in your views – I am a radiant fan ;)

What about testing? Cucumber, Rspec, others?

Usually its still adhoc – testing is expensive for smaller firms — so adhoc blackbox testing is what is done. I opined that cucumber and rspec ROCK! Cucumber is great for scenario testing and testing controller logic and views. Rspec is great for Direct Model Access and Cucumber can make great use of Webrat for browser testing.

In Rpsec, when do we use mocks and stubs?

It was suggested that mocks and stubs should be used when there are no ready model and code. If the code is ready, its probably just enough not to use mocks and stubs directly. Comments welcome on this!

How do you do stress testing?

Stress testing, concurrency testing and performance testing can be done using http-perf. It was interesting to note that ____ have actually done their own implementation for stress and concurrency testing. I recommended they open source it.

How are events, scheduled job and delayed jobs handled?

This was my domain :) Using delayed_job is the way to go. Following the leaders (github) and using Redis and resque would be great too but definitely not backgrounDrb or direct cron!

What project management tools do you use? Pivotal Tracker, Trac, Mingle?

Pivotal tracker suits startup needs. Mingle rocks but becomes expensive. Scott ? ;) Dhaval from TW mentioned how easy it was to co-ordinate an ‘mingle’ with their 200 strong team over distributed geographies.

Which SCM do you use? git, svn, cvs?

People have been very comfortable with git and more and more are migrating from svn to git.  It was heartening to see that nobody uses CVS :) Jaju (I have have misspelt) gave an excellent brief about how code and diffs can be squished and ‘diff’ed with another repository before the final merge and push to the master. Dhaval gave an idea about how they effectively used git for managing their 1GB source code (wow!)

Some pending questions – probably in next meet-up

  1. Which hosting service do you use and why?
  2. TDD or BDD?

Suggestions are welcome!

About the Author – Gautam Rege

Gautam Rege is the co-founder and managing director at Josh Software, Pune.

Gautam has an engineering degree in Computer Science from PICT, Pune. In his 9 years in the IT industry, he has worked in companies like Symantec, Zensar and Cybage before starting Josh 2 years ago.

Gautam’s technical knowledge spans from various languages like C, C++, Perl, python, Java to software expertize in various industry domains like Finance, Manufacturing, Insurance and even advertising.

As with the company name, Gautam has a lot of ‘josh’ about new and emerging technologies. His company is one of the few which works almost exclusively in Ruby on Rails, the cutting edge web technology that has taken the industry by storm.

(Comments on this article are closed. Please comment at the location of the original article)

Reblog this post [with Zemanta]

Conference report: The 4th IndicThreads conference on Java Technologies

(The IndicThreads conference on Java Technologies was held in Pune last weekend. This conference report by Dhananjay Nene was published on his must-read blog and is re-published here with permission. The slides used during the presentations can be downloaded from the conference website here and are also linked to in context in Dhananjay’s report below. In general, PuneTech is interested in publishing reports of tech events and conferences that happen in Pune, as long as they go into sufficient technical depth, and especially if links to slides are available. So please do get in touch with us if you have such a report to share.)

indicthreads logo smallThe annual indicthreads.com java technology conference is Pune’s best conference on matters related to Java technologies. I looked forward to attending the same and was not disappointed a bit. The last one was held about 3 days ago on Dec 11th and 12th, and this post reviews my experiences at the same.

As with any other conference usually something or the other isn’t quite working well in the morning, so I soon discovered we had a difficulty with the wireless network being swamped by the usage. There were some important downloads that needed to be completed, so my early morning was spent attempting to get these done .. which meant I missed most of Harshad Oak’s opening session on Java Today.

The next one i attended was Groovy & Grails as a modern scripting language for Web applications by Rohit Nayak. However I soon discovered that it (at least initially) seemed to be a small demo on how to build applications using grails. Since that was something I was familiar with, I moved to the alternative track in progress.

The one I switched to even as it was in progress was Java EE 6: Paving the path for the future by Arun Gupta. Arun had come down from Santa Clara to talk about the new Java EE6 spec and its implementation by Glassfish. Arun talked about a number of additional or changed features in Java EE6 in sufficient detail for anyone who got excited by them to go explore these in further detail. These included web fragments, web profile, EJB 3.1 lite, increased usage of annotations leading to web.xml now being optional, and a number of points on specific JSRs now a part of Java EE6. Some of the things that excited me more about Glassfish were, (a) OSGi modularisation and programmatic control of specific containers (eg Servlet, JRuby/Rails etc.), embeddability, lightweight monitoring. However the one that excited me the most was the support for hot deployment of web apps for development mode by allowing the IDEs to automatically notify the running web app which in turn automatically reloaded the modified classes (even as the sessions continued to be valid). The web app restart cycle in addition to the compile cycle was alway one of my biggest gripes with Java (second only to its verbosity) and that seemed to be going away.

I subsequently attended Getting started with Scala by Mushtaq Ahmed from Thoughtworks. Mushtaq is a business analyst and not a professional programmer, but has been keenly following the developments in Scala for a couple of years (and as I later learnt a bit with Clojure as well). Unlike a typical language capability survey, he talked only about using the language for specific use cases, a decision which I thought made the presentation extremely useful and interesting. The topics he picked up were (a) Functional Programming, (b) DSL building and (c) OOP only if time permitted. He started with an example of programming/modeling the Mars Rover movements and using functions and higher order functions to do the same. Looking back I think he spent lesser time on transitioning from the requirements into the code constructs and in terms of what he was specifically setting out to do in terms of higher order functions. However the demonstrated code was nevertheless interesting and showed some of the power of Scala when used to write primarily function oriented code. The next example he picked up was a Parking Lot attendant problem where he started with a Java code which was a typical implementation of the strategy pattern. He later took it through 7-8 alternative increasingly functional implementations using Scala. This one was much easier to understand and yet again demonstrated the power of Scala quite well in terms of functional programming. Onto DSLs, Mushtaq wrote a simple implementation of a “mywhile” which was a classical “while” loop as an example of using Scala for writing internal DSLs. Finally he demonstrated the awesome power of using the built in support for parser combinators for writing an external DSL, and also showed how a particular google code of summer problem could be solved using Scala (again for writing an external DSL). A very useful and thoroughly enjoyable talk. (Here is a link to the code used in this presentation. -PuneTech)

The brave speaker for the post lunch session was Rajeev Palanki who dealt both with overall IBM directions on Java and a little about MyDeveloperworks site. In his opinion he thought Java was now (post JDK 1.4) on the plateau of productivity after all the early hype and IBM now focused on Scaling up, Scaling down (making it easier to use at the lower end), Open Innovation (allow for more community driven innovation) and Real Time Java. He emphasised IBMs support to make Java more predictable for real time apps and stated that Java was now usable for Mission Critical applications referring to the fact that Java was now used in a USS Destroyer. He referred to IBMs focus on investing in Java Tooling that worked across different JRE implementations. Tools such as GCMV, MAT, and Java Diagnostic Collector. Finally he talked about the IBM MyDeveloperWorks site at one stage referring to it as the Facebook for Geeks.

The next session was Overview of Scala Based Lift Web Framework by Vikas Hazarati, Director, Technology at Xebia. Another thoroughly enjoyable session. Vikas dealt with a lot of aspects related to the Lift web framework including various aspects related to the mapper, the snippets, usage of actors for comet support etc. I was especially intrigued by Snippets which act as a bridge between the UI and the business logic have a separate abstraction for themselves in the framework and how the construct and functionality in that layer is treated so differently from other frameworks.

I subsequently attended Concurrency: Best Practices by Pramod Nagaraja who works on the IBM JRE and owns the java.nio packages (I think I heard him say owns). He talked about various aspects and best practices related to concurrency and one of the better aspects of the talk was how seemingly safe code can also end up being unsafe. However he finished his session well in time for me to quickly run over and attend the latter half of the next presentation.

Arun Gupta conducted the session Dynamic Languages & Web Frameworks in GlassFish which referred to the support for various non java environments in Glassfish including those for Grails/Groovy, Rails/JRuby, Django/Python et. al. The impression I got was Glassfish is being extremely serious about support for the non java applications as well and is dedicating substantial efforts to make Glassfish the preferred platform for such applications as well. Arun’s blog Miles to go … is most informative for a variety of topics related to Glassfish for both Java and non Java related aspects.

The last talk I attended during the day was Experiences of Fully Distributed Scrum between San Francisco and Gurgaon by Narinder Kumar, again from Xebia. Since a few in the audience were still not aware of agile methodologies (Gasp!), Narinder gave a high level overview of the same before proceeding down the specific set of challenges his team had faced in implementing scrum in a scenario where one team was based in Gurgaon, India and another in San Fransciso, US. To be explicit, he wasn’t describing the typical scrum of scrum approaches but was instead describing a mechanism wherein the entire set of distributed teams would be treated as a single team with a single backlog and common ownership. This required some adjustments such as a meeting where only one person from one of the locations and all from another would take part in a scrum meeting in situations where there were no overlapping working hours. There were a few other such adjustments to the process also described. The presentation ended with some strong metrics which represented how productivity was maintained even as the activities moved from a single location to a distributed model. Both during the presentation and subsequently Narinder described some impressive associations with senior Scrum visionaries and also some serious interest in their modified approach from some important companies. However one limitation I could think of the model was, that it was probably better geared to work where you had developers only in one of the two locations (offshoring). I perceived the model as a little difficult to work if developers were located across all locations (though that could end up being just my view).

The second day started with a Panel Discussion on the topic Turning the Corner between Arun Gupta, Rohit Nayak, Dhananjay Nene (thats yours truly) and moderated by Harshad Oak. It was essentially a discussion about how we saw some of the java and even many non java related technologies evolving over the next few years. I think suffice to say one of the strong agreements clearly was the arrival of Java the polyglot platform as compared to Java the language.

The next session was Developing, deploying and monitoring Java applications using Google App Engine by Narinder Kumar. A very useful session describing the characteristics, opportunities and challenges with using Google App Engine as the deployment platform for Java based applications. One of the take away from the sessions was that subject to specific constraints, it was possible to use GAE as the deployment platform without creating substantial lockins since many of the Java APIs were supported by GAE. However there are a few gotchas along the way in terms of specific constraints eg. using Joins etc.

I must confess at having been a little disappointed with Automating the JEE deployment process by Vikas Hazrati. He went to great depths in terms of what all considerations a typical J2EE deployment monitoring tool should take care of, and clearly demonstrated having spent a lot of time in thinking through many of the issues. However the complexities he started addressing started to get into realms which only a professional J2EE deployment tool writer would get into. That made the talk a little less interesting for me. Besides there was another interesting talk going on simultaneously which I was keen on attending as well.

The other talk I switched to half way was Create Appealing Cross-device Applications for Mobile Devices with Java ME and LWUIT by Biswajit Sarkar (who’s also written a book on the same topic). While keeping things simple, Biswajit explained the capabilities of Java ME. He also described LWUIT which allowed creation of largely similar UI across different mobile platforms. He explained that while the default Java ME used native rendering leading to differing look and feel across mobile handsets just like Java AWT, using LWUIT allowed for a Java Swing like approach where the rendering was performed by the LWUIT library (did he say around 300kb??) thus allowing for a more uniform look and feel. He also showed sample programs and how they worked using LWUIT.

Allahbaksh Asadullah then conducted the session on Implementing Search Functionality With Lucene & Solr, where he talked about the characteristics and usage of Lucene and Solr. It was very explicitly addressed at the very beginners to the topic (an audience I could readily identify myself with) and walked us through the various characteristics of search, the different abstractions, how these abstractions are modeled through the API and how some of these could be overridden to implement custom logic.

How Android is different from other systems – An exploration of the design decisions in Android by Navin Kabra was a session I skipped. However I had attended a similar session by him earlier so hopefully I did not miss much.

However Navin did contribute occasionally into the next session Java For Mobile Devices – Building a client application for the Android platform by Rohit Nayak. Rohit demonstrated an application he is working on along with a lot of the code that forms the application using Eclipse and the Android plugin. A useful insight into how an Android application is constructed.

As the event drew to a close, the prizes were announced including those for the Indicthreads Go Green initiative. A thoroughly enjoyable event, leaving me even more convinced to make sure to attend the next years session making it a third in a row.

(Comments on this post are closed. Please comment at the site of the original article.)