iOS 6 predictions


Here are the features I predict Apple will reveal on 11.6.12 for iOS 6. What do you think?
  • Swipe from bottom and from the sides: the same algorithm that opens the notification center when you swipe the screen from above, will also be implemented to all other sides. When you swipe from bottom: the multi-task fast app switcher will show (no more agonizing double taps!), swiping from sides will switch back and forward between previous applications exactly like the 4-finger gesture on the iPad does.
  • Siri API: developers will have an API to add question "templates" to Siri's vocabulary, for example: saying "Play %q from stitcher" will identify the word pronounced instead of "%q" and will send it to the Stitcher app. So, saying "Play the verge from stitcher" will launch the stitcher app and play "the verge" podcast.
  • iMessage API: Since iMessages are free, Apple will open an API that will enable developers to send them programmatically, opening the flood gates for specialized messaging apps like delayed texting, location based texting and more.
  • New notification interactions: till this very day, there are only two ways to interact with a notification coming from an app: dismiss it or open the app. As a developer you would like to give your users the power to delete an object in a notification, snooze it or open an automatic reply. The new API will let the developer add a button to the notification, or maybe even a select box. In fact, I think apple will add a "snooze by time" option to iOS's native calendar notifications.
  • Social info: this app would like to know your gender and your age. Apple will continue adding social hooks like "find my friends" and "ping".
  • Photo sharing: you'll be able to photo-tag friends from your contact list, and this will send them a link and pop the photo in their photos gallery.
  • 3D iMaps: no doubt.
  • AppStore on the Apple TV: no way, only when the iTV will be announced, which is not at this WWDC.

Left overs from iOS 5 predictions

I still really want these:
  • Widgets: app icons will now have various possible sizes, constrained to combinations of multiple icons. For example, to make a search widget, you can define your icon by 3x1, meaning 3 icons across and one vertical icon. The widget will occupy the space of 3 icons horizontally on the home screen and will behave exactly like an application with transparent background.
  • Xcode for the iPad: This is more of a wet dream, but Apple is building on the iOS as their main operating system for the future, and to get the real hardcore users to move to it, they have to make an IDE available. The main reason I gave up on my iPad and gave it to my mom was the lack of a good IDE (plus she really liked it :-).

A laptop with a wired and detachable touch screen

A laptop with a wired and detachable touch screen.

How often do you see a person using an unplugged laptop?
A rare sight indeed.

I know some people who've never actually used their laptop batteries, they removed them the minute they bought the device to keep their batteries healthy once they actually need them.

Most of the time, we are using our computers when we are sitting.
So why not create a powerful laptop with a detachable touch screen?

When you need to do a keyboard-intensive task, use it as a conventional laptop. When you want to lay back and do some casual browsing, angry birding or reading, detach the screen and do some finger computing. All while having access to the fully featured and powerful CPU, memory and operating system.

The screen is just that, a screen, hence it can be extremely light and comfortable to hold, the wire won't really get in your way.

You can think about it like an iPad with an i7 intel CPU, 16gb of RAM and a 256gb SSD, minus the weight of the ipad batteries, and all the internals.

I guess a 1.3 kg computer can be transformed into a killer 12 inch wired touch screen computer that weighs just 300 grams, less than half the iPad, and as little as two iPhones.

The weight is more noticeable in your hands and on your lap, rather than on your back or in your briefcase. So just unload the weight away from you, put it on the floor, or on your desk, exactly like you do with the cord and the power brick of most portable computers out there.

Wait a sec! You can hide all the internals in a large power brick and that way, it will look like magic, desktop horse power channeled through a wire from the floor, to a light touch screen in your hands.

A data center on the sun





As data intensive and super computational tasks demand are rising at an exponential rate. Costs of energy in data centers are becoming the most expensive factor in our world-wide data driven network, aka the Internet.

Ideas of harnessing energy from the sun and sending it back to earth has been around for awhile, but sending energy remotely over microwave is extremely dangerous and and, well, experimental.

Sending data remotely, however, is much more safe and easy, we've been doing it with satellites for dozens of years.
Data center satellites, imagine sending hundreds or even thousands of small solar computers to surround the sun, feed off the energy of our sun and compute our every wish. Earth bound control centers will send out the formulas to compute and will catch the messages of the results when they are finished.

A server node swarm surrounding the sun and turning light and heat into computing power.

why JAVA is the most strategic programming language to learn




If you master JAVA, you can develop any type of software:
  • most devices: Android
  • most consumer servers: AWS and GAE - web apps
  • most business servers: JavaEE - Big corporations

Overcome i18n empty string error message

The problem:
If you are using an i18n supported system like spring (java), there might be a scenario where your application might call an empty string.
This might occur when you invoke the i18n with a null or an empty string (i.e. the i18n key was not set correctly and the jsp i18n tag could not find it).
Then, when trying to translate the message using your i18n messages.properties file, the server might throw an exception.

That exception might be disruptive in a production environment.
In order to throw a silent exception, I took the approach of null vs. empty object handling.
(i.e. prefer returning an empty object rater than null, when an error occurs).

The solution:
To avoid this exception, you can add an entry for an empty string to your i18n messages.properties like so:

conf.btn.submit = SUBMIT
conf.status.none = NONE
conf.status.deleted = DELETED
conf.status.inactive = INACTIVE
= i18n empty string error
conf.status.active = ACTIVE
conf.status.incomplete = INCOMPLETE
conf.status.pending = PENDING
conf.status.approved = APPROVED
conf.status.rejected = REJECTED

Ofcourse, you might want to use some other text than "error" according to the specific need of your application. Displaying "Error" is a way of floating up the problem without displaying the user/QA a blank screen.

Note:
This technique could also be used in development to focus on business logic development, however, I would recommend DELETING this empty i18n key during the last test days, before going to production, to minimize such exceptions.

Configuring envers with maven

Configuring envers with maven, hibernate and spring on eclipse.

  1. In eclipse
  2. find pom.xml
  3. click on the pom.xml tab to see the actual xml code
  4. Add the JBoss Repository according to: https://community.jboss.org/wiki/MavenGettingStarted-Developers
  5. Go to the Dependencies tab on the pom.xml
  6. click Add...
  7. Start writing "envers" in "Enter groupId..." field
  8. "org.hibernate hibernate-envers" should appear in the results, instead of the latest version, enter your hibernate version, or "${org.hibernate.version}" to copy it dynamically.
  9. save pom.xml

You now have envers configured, just add @Audited above the classes/properties you want to audit.

Version Control strategies for new software

Here are three VC strategies for new projects, they are not fit for legacy or maintained production systems.



Live trunk

Suited for new projects with small teams.

/trunk - Latest code, constantly being committed to. May not work, code is sanity checked and compilable.

/branches/versions - Stable and tested, weekly/monthly snapshots of the trunk. For reviews and QA, Never changes. Can also be just labels.

/branches/cross_features - Potentially dangerous, experimental and cross-conflicting, cross-team features. Merged to trunk when the feature is done. Should be used rarely.



Team branches

Suited for projects with very isolated teams (especially offshore).

/trunk - Stable, fully tested code, never committed to, only merged to.

/branches/teams - A branch for each team, merged weekly or monthly to the trunk with extensive testing.

/branches/versions - Same as "Live trunk". Stable and tested, weekly/monthly snapshots of the trunk. For reviews and QA, Never changes. Can also be just labels.



Feature branches

Suited for more mature projects with more code lines and at least 3 people working on each feature.

/trunk - Same as "Team branches". Stable, fully tested code, never committed to, only merged to.

/branches/features - branched and merged from trunk after features are fully completed and tested with trunk.

/branches/versions - Same as "Live trunk". Stable and tested, weekly/monthly snapshots of the trunk. For reviews and QA, Never changes. Can also be just labels.

iBooks 2 is actually a web-app store

Think about it, Apple never planned the native application Store we have today. They were forced into it by the genius hackers who made amazing apps for the first jailbroken iPhone.

When introducing the first iPhone, Steve said web applications are everything you needed to enable rich application functionality.


Hello iBooks 2

Besides the chrome web store, there aren't any popular web app selling platforms out there. And definitely not mobile.

iBooks author is actually a visual IDE

You can create and sell rich pages that include applicable functionality using JavaScript. The gazillion of content web sites out there can now start charging for their text, images, video and JavaScript code for widgets.

Bigger than the App store

The app store is very big, but not as big as it could be, because iOS apps are written in Objective C which is not as easy or popular as other languages. iBooks "BookApps" (that's how they should be called) are written in in drag & drop, and the complicated stuff is in JavaScript, one of the most widespread languages in the world, thanks to the world wide web. In short, writing BookApps is much easier than writing native apps. BooksApps won't have most of the interesting API's like accelerometer, storage access and camera, but they might come one day. And till then, most content apps and simple functionality one could be written faster and easier for the iBooks platform.

The chargeable web

I'm not sure if this is Apple's goal, but they are actually creating a chargeable version of the web, from the second iBooks author was out, most content websites can easily create a chargeable version of their content.

CatchyLink - a URL shortener with a sense of humor

A URL shortener that uses memorable word combinations instead of hashes.

CatchyLink is a URL shortener with a sense of humor!

What do all the following word combinations have in common? - Thankful Remarkable
Edge, Puzzled Obedient Pear, Flawless Lethal Oven or Bored Panoramic Nation ?

Well, they are randomly generated, they all started their way as an experiment and they were all created by CatchyLink.com.

When I was a youngster, I played a computer game that used random word combinations for naming players in
the game. What I noticed was, that this shuffling of words created a name that was very amusing and catchy.

This is how I got the idea for what began as an experiment and now can be used by everyone on the web. I was wondering whether such a combination can be used to make long URLs short and at the same time help me remember them. So I talked with some friends and together we came up with CatchyLink.com.

CatchyLink combines a random set of two adjectives and one noun to create a catchy and short link we can easily memorize. When we went on generating links, they came out rather amusing, often those random words were combined in an unusual way with really funny meanings. Once we shortened a link that came out like http://catchylink.com/RipeSaltyCook. It made us think, well… how does a ripe salty cook looks like and will it
ever try to cook itself?

So how does CatchyLink work?


That is rather easy. Let’s say you have the following long and hard to remember web-link:
http://finance.jaluba.com/financialservices/global/en/853290fnhurhu2h3u43h/3465563259565674rrbz7758457485hrfudhdffdf/Pages/industrial_insurance_solutions.aspx
CatchyLink.com may turn it into something like:
http://catchylink.com/RipeSaltyCook
Which is much shorter, easier to remember and kinda' amusing.

We believe that people who want to use shorter links on Twitter, Facebook and Google+ will love to use CatchyLink.com. Bloggers and people who want to remember their own links will find CatchyLink.com can help them spread the word, Podcasters will finally be able to speak out links easily and newspapers will have an alternative for QR codes.

We are working on a version with statistics for registered users, services for self-created catchy URLs and dedicated themes that will give people with certain interests (science, technology etc.) the ability to create CatchyLinks that are
unique and personal.

Try it yourself on: http://catchylink.com

Soda can Basketball: Recycling gamification

At arcades and at town fares, people pay to throw darts or a ball at some targets. I suggest that recycle bins for soda cans should actually be game machines.

Design the garbage container as a big round pool, with a reversed cone base and a basketball rim in the middle, if you have an empty soda can, don't just throw it away: aim, shoot and score.

Potentially, in the future, the recycle bins can be electronic, count successful shots, reward you and even post the score to your facebook feed.


Location:Bugrashov,Tel Aviv,Israel

Free cellular communication

There's a way to transfer data between two smartphones with apps that call and hangup each-other without answering. And with zero charge by the carriers.

Cellular roaming fees are scandalous. I'm sure, one day, our offsprings will be mind-boggled when we tell them that we paid more than a dollar to send a few bytes across countries.

The app I'm suggesting can also be used for free local texting.

The side that sends the data initiates the calls, a two second ring means "0", and a four second ring means "1". Notice that usually there's no charge when there is just a ring, if the receiving side doesn't answer.

The app that is receiving the rings notes each ring as a bit of a binary value. After a few dozen rings it converts the message to ASCII text and shows it to the user.

This way of communication might be slow, but a more efficient system can be engineered using more bits, 3 second, 5 second rings and so on.

Business class seats lottery

Most flights I take, I see more than 50% of the business class seats vacant.
Traveling companies should have a lottery for passengers, while on board, for those vacant seats. They can also advertise it: "fly with us and you might get a free business class upgrade!".
This will not demotivate business travelers from actually buying fully priced business class seats in advance. Trust me, they will not bet their 10 hour flight which they frequent, business class travelers will pay close to anything to make their flight a little more comfortable, you would too, if you traveled 3 times a week and could deduct the cost from your taxes.

Amazon Kindroid predictions

Amazon is going to release an Android powered Kindle tablet in the near future, below are some features I predict the "Kindroid" will have.

Whispernet
The cellular enabled version of the Kindroid will feature download of payed items over cellular without requiring any subscription or pre-payment.
Download of free items will cost something like 1 cent unless you download it over wifi.


Amazon Android app store

The Kindroid will boast Amazon's android app store as one of its main features. It will have android apps customized and approved specifically for the Kindroid's hardware. Bypassing Amazon's app store for installation of 3rd party applications directly, aka side-loading, will be impossible. Amazon wants to create the protected environment that is so successful and lucrative on iOS devices.


Media store

All of amazon's media offerings will be available via whispernet: music, movies and tv shows.


Amazon store

Want to buy shoes? an electronic device or some cat food? All will be available through a general store that will give a new meaning to "one-click shopping". Pick up your Kindroid, turn on the screen, click the "apparel" icon, select your shoes and click buy, the shoes will be delivered to your pre-set address.


UX

The home screen will have a search box that will search all the above stores at once.
It will have icons for apps, music, movies, groceries, clothes, electronics and so on, the perfect shopping portal for... well, everything. Clicking on any of these icons will show you past purchases of goods, purchased apps and digital content, right next to advertisements.


Calendar and email advertisements

There will be ads in your calendar, and in your mail, all tailored exactly for your needs. Your wife emailed you "we need cat food"? No problem, an advertisement will be waiting just for that. A calendar entry for "get some shoes"? You get the drift, privacy will be subject to interpretation.


Price

The Kindroid will be an amazing shopping device that will lock you up to Amazon's products, or at least make it so easy to shop at amazon that you wouldn't want to buy anywhere else. Amazon will subsidize it, a gaming console or razor blades model is definitely an option here. It will sell for something like
$249 and the purchase of all the goods and content will cover the losing selling price. One way that they can achieve this price point is by using a really cheap memory chip, something like 8GB or even somewhere around 4GB, remember that all of amazon's content can be streamed.


Making Google mad

Amazon is going to cutoff Google completely and strip every reminder of the G brand. No Google market, no Google books, music and movies etc. Why? because they want control, they would like to be the Apple of the android ecosystem and to monetize the hell out of this device. Even the the default search might be Bing, maybe to cover their selves against potential Microsoft software patent suits around android.

iOS 5 predictions

Here are the features I predict Apple will reveal on 6.6.11 for iOS 5. What do you think?
  • Cloud storage API: 3rd party apps will have access to iCloud storage as if it was local on the user's device. This will allow app developers to write scalable cloud applications without knowing anything about LAMP, Hadoop, AWS or GAE.
  • Widgets: app icons will now have various possible sizes, constrained to combinations of multiple icons. For example, to make a search widget, you can define your icon by 3x1, meaning 3 icons across and one vertical icon. The widget will occupy the space of 3 icons horizontally on the home screen and will behave exactly like an application with transparent background.
  • Lock screen is bye bye: there was no reason to have the lock screen to begin with, turning on the screen or clicking the home button will take you directly to one of the screens, showing all the widgets that are there. To update the widgets, developers will need to queue up http calls on pre-set time intervals with a minimum of something like 5 minutes, the answer will have a maximum size of something like 50kB.
  • Sleep Sync: The entire data on the iPhone will be fully synced to iCloud when three conditions are satisfied: the phone is plugged in, the battery is fully charged and WiFi is available.
  • Sleep sync API: Developers will have access to the sleep sync API so an application like flickr could sync all your photos during the night.
  • Xcode for the iPad: This is more of a wet dream, but Apple is building on the iOS as their main operating system for the future, and to get the real hardcore users to move to it, they have to make an IDE available. The main reason I gave up on my iPad and gave it to my mom was the lack of a good IDE (plus she really liked it :-).
  • cloudTunes: the obvious iTunes in the cloud with a twist- all the music you bought from apple is freely hosted and accessible. Want anything else? 5$ a month to store any music you want and download anything from the iTunes store for free.
What do you think?

Financing a subway with underground real-estate

Is it possible to finance a subway system with underground commercial real-estate?



Over here, in Tel-Aviv, we have a grave need for a subway train. A metro system can make life much easier and the city much cleaner.

An interesting calculation would find out how many meters of underground real-estate would the city need to give to the entrepreneur in order for the project to pay for itself. It can possibly be done two stations at a time to minimize risk.

Selling stock to citizens for further financing


Besides the rights to sell the tickets to the subway, and the real-estate, the entrepreneur can also sell some stock for the the entire system ahead of time. City property owners in strategic locations would jump on the stocks because they have a double interest in raising the value of their real-estate and earning from the new commercial area. They can even be given the rights of choosing where the stations will be located, increasing incentive.

- Posted using BlogPress from my iPhone
Location:Rome