Archive for August, 2008

An update on Development Status Of KMarks August 26th 2008

Wednesday, August 27th, 2008

An update on Development Status Of KMarks August 26th 2008

Previous Posts regarding KMarks:
A New Sun Rises - KMarks
KMarks - Not your grandmothers bookmarks

For those interested in KMarks and its development status here is an update.

Development of KMarks has started and I am devoting around 15 - 20 hrs a week on writing code and another 10 - 15 hours planning out the phases, features that go into releases and of course architecting the current release of KMarks code named ‘Signature’. The planned features list grew to 50 features, but only 2 features will be released in ‘Signature’ release. The first four releases may not be exciting enough. The 5th release would be decent and will be much similar to existing social bookmarking web sites. But from release 6, all the excitement and fun begins. Each release after the 6th release would give you a ‘WOW’ experience.

An approximatish… timeline: (Everything below is tentative)
September 20ish 2008 … - Testing of Signature release starts.
October 20ish 2008 … - Public Beta Testing of Signature (Invites only)
Early 2009 … - Goes live.
End of 2009 - Release 5.
Start of 2010 - Release 6+. All the fun and excitement starts.

Now as for the current development status:
Prototyping 3 different UI experiences and demoing it to 3 persons who are my friends, get their feedback and select one of them. I am done with prototyping 1 UI experience. And I plan to get the other 2 done before the long weekend.

Using SubSonic for Data Access.
MySQL for database.
ASP.Net 2.0
C#
Ajax
JQuery

BTW KMarks is just a codename for the entire project, when it gets released it gets a name for itself.

An update on Development Status Of KMarks August 26th 2008

12 Performance Tips For ASP.Net WebApplications

Sunday, August 24th, 2008

12 Performance Tips For ASP.Net WebApplications

1) Disable Session State when it is not needed.
This can be set in the Page directive as follows:
<%@ Page EnableSessionState="false" %>

2) Turn Off ViewState when not needed
This can be done for controls individually or turned off for a whole page as follows:
<%@ Page EnableViewState="false" %>

3) Minimize use of Exceptions
Don’t use exceptions to control flow of program. Exceptions are costly.

4) Minimize use of COM Components
If possible port your COM Components to .Net code and use them.

5) Cache Data
There could be some data which rarely changes such as States In USA, If these are stored in database, retrieve them during Application Start and cache them. If you need you can write some code where you can manually force refreshing this data. If you want to know the details of implementation, throw in a comment and I will cover it in a later blog post.

6) Cache Output
Cache the output of page or User Control whenever possible.

7) Disable Debug Mode
Debug mode can be disabled in web.config by setting ““.

8 ) DataReader is very fast for forward only reading of data
DataReader is very fast but can be used only in forward only read mode. So whenever appropriate use it.

9) Avoid Unnecessary round trips to the server.
Some of the round trips can be avoided by doing certain things on Client Side for example validations.

10) Use AJAX wherever appropriate
Doing a postback and loading a whole page for a small change could be expensive, use AJAX wherever appropriate.

11) To reduce the size of ASP.Net pages, the viewstate can be stored on the server.
You can reduce the amount of data transferred by storing the viewstate on the server itself. Want some code wait for a future article.

12) Enable Buffering
If possible don’t turn off buffering.

12 Performance Tips For ASP.Net WebApplications

Links For August 22nd 2008

Saturday, August 23rd, 2008

Links For August 22nd 2008

ASP.Net:
Caching Interview Questions Part 1
Dependency injection made easy for the ASP.NET MVC
ASP.NET AJAX Development Approach Part 2

Web:
HTML 5: The event loop, hashchange, and more
Create HotKey combinations with jQuery
Debugging Ajax Using FireBug
Speed Up Your Website By PreLoading - Example Included

Podcasts:
ASP.NET Podcast Show #124 - Speed up big Apps with Velocity!
4 Elements of Professional WPF Applications
ASP.NET Podcast Show #118 - Paul on Peer-To-Peer with Windows Communication Foundation

WCF:
How to Build REST apps on .NET using WCF

Silverlight:
A Personal Guide to Getting Started with Silverlight

Links For August 22nd 2008

Speed Up Your Website By PreLoading - Example Included

Saturday, August 23rd, 2008

Speed Up Your Website By PreLoading - Example Included

This article is a continuation to an article titled: Speed Up Your Web Pages By PreLoading, Caching…

Lets first discuss about the example: Here we have 3 webpages titled:
index.html, preloaded.html, nonpreloaded.html. We have 4 bmp images of 3 MB size each - p1.bmp, p2.bmp, np1.bmp, np2.bmp.
When you open index.html, you find 2 links to the documents preloaded.html and nonpreloaded.html. However I suggest you to read all the instructions on index.html page thoroughly. Below is the link for index.html, after you follow the instructions on that page, come back here, lets discuss what happened in that page. And also try to time the loading of the pages, and post the time it took to load those pages, your connection speed in the comments.

Link for index.html

In the above example page, we have links for preloaded.html and nonpreloaded.html. preloaded.html has 2 images p1.bmp and p2.bmp which are 3 mb each. While you were reading the content on index.html those images were preloaded in background, so when you clicked on the link for preloaded.html it loaded quickly as the images were already loaded and cached by your browser. But when you clicked on nonpreloaded.html the images np1.bmp and np2.bmp were not preloaded so after you clicked the link, those images were downloaded causing a little delay in loading the page. Any doubts or comments are welcome. In case you had a too slow connection and could not make a difference in loading times, let me know, I can come with another example for you.

Update:
Here, I just simulated a scenario. Obviously I wont have bmp’s. I mean to say if there are several files like js, css, image files and you know for sure that a person would click the link, you can pre load it this way. Definitely no one would want to put a 3 Mb bmp file. I did that only to simulate big files or multiple small files which would consume few seconds.

Speed Up Your Website By PreLoading - Example Included

Links For August 21st 2008

Friday, August 22nd, 2008

Links For August 21st 2008

.Net:
C# Inline Methods and Optimization
Questions on application domains, application pools and unhandled exceptions
Did you know… How to debug your optimized code?
ASP.NET Generated Image Control
ASP.Net Load Testing and Optimization Toolkit - So you want to be a hero
ASP.Net MVC Videos
Rotor 2.0 referance book

LINQ:
Probably The Most Powerful LINQ Operator: SelectMany

Web:
jQuery Timers
jQuery: Animation for Dummies
A Horizontal Layout Navigation Web Page Using jQuery
15 Quick Ways to Shrink Page Load Times
Speed Up Your Web Pages By PreLoading, Caching…
B2B Communication and Securing them

Silverlight:
Silverlight CMS Demo
Silverlight Particle Generator
Silverlight custom fonts - How to and issues

Database:
Introducing Table-Valued Parameters - Part 1

Other:
25 Must-Have Thumb Drive Apps for Geeks

Podcasts:
Velocity Podcast

Links For August 21st 2008


Books 24x7